Socket双向通信的代码,封装为dll。服务器端是多线程的,可以链接多个客户端。每当有客户端链接,就创建一个线程。发送和接收缓冲区是系统默认值。接收消息使用队列接收,通过线程id读取接收到的消息。
代码在vs2008上编译通过,
服务器端,使用示例
声明:
NetWorkBase* mNetWorkThreadPointer;
NetWorkBaseFactory factory;
初始化的时候
mNetWorkThreadPointer= factory.getNetWorkPointer();
发送数据
mNetWorkThreadPointer->sendData(id,str);
id是线程的id,
str是要发送的字符串。
接收数据
CString str=_T("");
str=mNetWorkThreadPointer->receiveData(id);
id是线程的id。
客户端是单线程的。
声明:
NetWorkBase* mThreadPointer;
NetWorkBaseFactory factory;
初始化:
mThreadPointer= factory.getNetWorkPointer();
设置变量
mThreadPointer->configNet(L"",49153);//服务器名和端口
mThreadPointer->setCWnd(this);//对话框的指针,
mThreadPointer->run();
链接到服务器
mThreadPointer->connetToServer();
发送数据
mThreadPointer->sendData(str);
接收数据
str=mThreadPointer->getData();
下载地址 https://download.csdn.net/download/tiancaijushi/11424010
示例的代码可以下载
服务端
客户端