window基于TCP、UDP通信

window基于TCP、UDP通信

ID:39470124

大小:50.50 KB

页数:5页

时间:2019-07-04

window基于TCP、UDP通信_第1页
window基于TCP、UDP通信_第2页
window基于TCP、UDP通信_第3页
window基于TCP、UDP通信_第4页
window基于TCP、UDP通信_第5页
资源描述:

《window基于TCP、UDP通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VC++ 使用socket基于TCP、UDP通信 (2012-12-1813:05:36)转载▼标签: socket bind listen send recv分类: TCP/IP首先包含头文件:#include链接winsock库#pragmacomment(lib,"ws2_32.lib")#defineMAX_MSG_LEN1500//最大的消息长度(MTU)TCP方式通信(服务端):1、加载SOCKET库WSADATAwsa;if(WSAStartup(MAKEWORD(1,1)

2、,&wsa)!=0){returnFALSE;  //加载失败}2、创建SOCKETSOCKETm_socket=socket(AF_INET,SOCK_STREAM,0);//TCP流式3、将SOCKET绑定到IP和端口//配置监听地址、绑定监听端口 SOCKADDR_INSersock;//用于服务器的监听SOCKETZeroMemory(&Sersock,sizeof(Sersock)); Sersock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//所有可用IPSe

3、rsock.sin_family=AF_INET; Sersock.sin_port=htons(usPort);//端口号 intnbind= bind(m_socket,(SOCKADDR*)&Sersock,sizeof(SOCKADDR)); if(SOCKET_ERROR==nbind) {  closesocket(m_socket); returnFALSE; }4、创建线程,设置创建的SOCKET为监听模式等待连接请求listen(m_socket,5);5、使用accept函数接收到一个请求

4、后(在接收到请求后才会返回),将创建一个与客户端新的SOCKET。6、使用新的SOCKET与客户端send/recv通信。7、关闭本次连接SOCKADDR_INaddrClient;intlen=sizeof(SOCKADDR);charszrecvbuf[MAX_MSG_LEN];charszsendBuf[50];ZeroMemory(szrecvbuf,sizeof(szrecvbuf));ZeroMemory(szsendBuf,sizeof(szsendBuf));SOCKETsockSer;whi

5、le(TRUE){//用accept函数接收客户方的连接sockSer=accept(m_socket,(SOCKADDR*)&addrClient,&len);if(INVALID_SOCKET==sockSer)continue;sprintf(szsendBuf,"Welcome%stoThis!",inet_ntoa(addrClient.sin_addr));//在客户方套接字clientSocket上使用send发送数据send(sockSer,szsendBuf,strlen(szsendBuf

6、)+1,0);//接收的数据recv(sockSer,szrecvbuf,50,0);psocket->m_strData.Format(_T("IP:%s,端口:%d说:%s"),inet_ntoa(addrClient.sin_addr),addrClient.sin_port,szrecvbuf);//::PostMessage(hwnd,WM_RECVDATA,0,(LPARAM)psocket->m_strData.GetBuffer(0));//(给窗口发消息,通知)//关闭本次连接closeso

7、cket(sockSer);//休息100SSleep(100);}8、关闭SOCKET和释放SOCKET库//关闭socketclosesocket(m_socket);WSACleanup();TCP方式通信(客户端):1、加载SOCKET库WSADATAwsa;if(WSAStartup(MAKEWORD(1,1),&wsa)!=0){returnFALSE;  //加载失败}2、创建SOCKETSOCKETm_socket=socket(AF_INET,SOCK_STREAM,0);//TCP流式3、

8、向服务端发送连接请求SOCKADDR_INSocketSendIn;SocketSendIn.sin_family=AF_INET;SocketSendIn.sin_addr.S_un.S_addr=htonl(m_ulRemoteIP);SocketSendIn.sin_port=htons(m_usRemotePort);charszBuf[50];//先建立连接intnRet= connect

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。