【初级问题】如何通过 CSocket 类进行客户端与服务器的通讯?
一个客户端向服务器端发送数据的程序。
我只能实现下边一次接收数据的流程,我如何才能实现多次的接收数据,或者长时间的接收客户端发送来的指令,是把 Receive 函数放到循环中处理吗?
下面是我现在的服务器端程序,只能接收一次数据。
////////////////////////////////////////////////////
CSocket sokServer; // 建立主套接字
CSocket sokConnection; // 建立连接套接字
sokServer.Create(8081);
sokServer.Listen(); // 开始监听
sokServer.Accept(sokConnection); // 接受连接
sokConnection.Receive(...); // 接收客户端发来的数据
sokConnection.Close(); // 关闭连接
sokServer.Close();
...
... // 进行相应的处理
...
////////////////////////////////////////////////////
其实,我的目的是:当连接建立后,客户端就可以向服务器端发送数据了。由于发送的只是一些简单的命令,不是一直发送,而是根据用户的操作发送相应的命令。比如:客户端发送一个播放命令,服务器端接收到后开始播放歌曲;客户端发送一个暂停命令,服务器端就暂停播放。
当客户端主动要求断开连接后,服务器端的连接也断开。
由于我没有做过网络程序,不知道如何安排程序结构,请高手指点一二,不一定要提供代码,能提供编程思路即可。
[解决办法]
while(1)
{
sokServer.Accept(sokConnection); // 接受连接
sokConnection.Receive(...); // 接收客户端发来的数据
sokConnection.Close(); // 关闭连接
}