您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 完成端口IOCP 服务端给客户端发送数据怎么发

完成端口IOCP 服务端给客户端发送数据怎么发

来源:网络整理     时间:2017/8/4 0:27:14     关键词:

关于网友提出的“ 完成端口IOCP 服务端给客户端发送数据怎么发”问题疑问,本网通过在网上对“ 完成端口IOCP 服务端给客户端发送数据怎么发”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 完成端口IOCP 服务端给客户端发送数据怎么发
描述:

说下流程
多数资料都是说接收数据的。


解决方案1:

//发送一个异步的读操作
void MyRecv(const SOCKET & s) 
{    
P_IO_DATA p_recv = new IO_DATA; 
p_recv->enIoType = RECV;    
WSABUF wsabuf; 
memset(&p_recv->ol,0,sizeof(p_recv->ol));
memset(p_recv->cIoData,0,sizeof(p_recv->cIoData));
memset(&wsabuf, 0, sizeof(wsabuf));
wsabuf.buf = p_recv->cIoData;
wsabuf.len = 512;
DWORD dwRecv;
DWORD dwFlg = 0;
memset(&p_recv->ol,0,sizeof(p_recv->ol) ); 
::WSARecv(s, &wsabuf, 1, &dwRecv, &dwFlg, &p_recv->ol, NULL); 
Sleep(1);
}
//发送一个异步的读操作
void MySend(const SOCKET & s, char* buf) 
{    
P_IO_DATA p_send = new IO_DATA;
p_send->enIoType = SEND;
WSABUF wsabuf;
memset(&p_send->ol,0,sizeof(p_send->ol));
memset(p_send->cIoData,0,sizeof(p_send->cIoData));
memset(&wsabuf, 0, sizeof(wsabuf));
strcpy_s(p_send->cIoData, buf);
wsabuf.buf = p_send->cIoData;
wsabuf.len = strlen(wsabuf.buf);            
DWORD dwSend;            
DWORD dwFlg = 0;             
::WSASend(s, &wsabuf, 1, &dwSend, dwFlg, &p_send->ol, NULL); 
}

以上介绍了“ 完成端口IOCP 服务端给客户端发送数据怎么发”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4419554.html

相关图片

相关文章