首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

【初级有关问题】怎么通过 CSocket 类进行客户端与服务器的通讯

2012-01-13 
【初级问题】如何通过 CSocket 类进行客户端与服务器的通讯?一个客户端向服务器端发送数据的程序。我只能实现

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

热点排行