读书人

【初级有关问题】怎么通过 CSocket 类

发布时间: 2012-01-13 22:43:30 作者: rapoo

【初级问题】如何通过 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(); // 关闭连接
}

读书人网 >VC/MFC

热点推荐