




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。2.3.下面用Socket实现一个windows下的c语言socket通信例子,这里我们客户端传递一个字符串,服务器端进行接收。4.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541556157158159【服务器端】#includestdafx.h#include#include#include#defineSERVER_PORT5208/侦听端口voidmain()WORDwVersionRequested;WSADATAwsaData;intret,nLeft,length;SOCKETsListen,sServer;/侦听套接字,连接套接字structsockaddr_insaServer,saClient;/地址信息char*ptr;/用于遍历信息的指针/WinSock初始化wVersionRequested=MAKEWORD(2,2);/希望使用的WinSockDLL的版本ret=WSAStartup(wVersionRequested,&wsaData);if(ret!=0)printf(WSAStartup()failed!n);return;/创建Socket,使用TCP协议sListen=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(sListen=INVALID_SOCKET)WSACleanup();printf(socket()faild!n);return;/构建本地地址信息saServer.sin_family=AF_INET;/地址家族saServer.sin_port=htons(SERVER_PORT);/注意转化为网络字节序saServer.sin_addr.S_un.S_addr=htonl(INADDR_ANY);/使用INADDR_ANY指示任意地址/绑定ret=bind(sListen,(structsockaddr*)&saServer,sizeof(saServer);if(ret=SOCKET_ERROR)printf(bind()faild!code:%dn,WSAGetLastError();closesocket(sListen);/关闭套接字WSACleanup();return;/侦听连接请求ret=listen(sListen,5);if(ret=SOCKET_ERROR)printf(listen()faild!code:%dn,WSAGetLastError();closesocket(sListen);/关闭套接字return;printf(Waitingforclientconnecting!n);printf(Tips:Ctrl+ctoquit!n);/阻塞等待接受客户端连接while(1)/循环监听客户端,永远不停止,所以,在本项目中,我们没有心跳包。length=sizeof(saClient);sServer=accept(sListen,(structsockaddr*)&saClient,&length);if(sServer=INVALID_SOCKET)printf(accept()faild!code:%dn,WSAGetLastError();closesocket(sListen);/关闭套接字WSACleanup();return;charreceiveMessage5000;nLeft=sizeof(receiveMessage);ptr=(char*)&receiveMessage;while(nLeft0)/接收数据ret=recv(sServer,ptr,5000,0);if(ret=SOCKET_ERROR)printf(recv()failed!n);return;if(ret=0)/客户端已经关闭连接printf(Clienthasclosedtheconnectionn);break;nLeft-=ret;ptr+=ret;printf(receivemessage:%sn,receiveMessage);/打印我们接收到的消息。/closesocket(sListen);/closesocket(sServer);/WSACleanup();【客户端】#includestdafx.h#include#include#include#defineSERVER_PORT5208/侦听端口voidmain()WORDwVersionRequested;WSADATAwsaData;intret;SOCKETsClient;/连接套接字structsockaddr_insaServer;/地址信息char*ptr;BOOLfSuccess=TRUE;/WinSock初始化wVersionRequested=MAKEWORD(2,2);/希望使用的WinSockDLL的版本ret=WSAStartup(wVersionRequested,&wsaData);if(ret!=0)printf(WSAStartup()failed!n);return;/确认WinSockDLL支持版本2.2if(LOBYTE(wsaData.wVersion)!=2|HIBYTE(wsaData.wVersion)!=2)WSACleanup();printf(InvalidWinSockversion!n);return;/创建Socket,使用TCP协议sClient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(sClient=INVALID_SOCKET)WSACleanup();printf(socket()failed!n);return;/构建服务器地址信息saServer.sin_family=AF_INET;/地址家族saServer.sin_port=htons(SERVER_PORT);/注意转化为网络节序saServer.sin_addr.S_un.S_addr=inet_addr(192.168.1.127);/连接服务器ret=connect(sClient,(structsockaddr*)&saServer,sizeof(saServer);if(ret=SOCKET_ERROR)printf(connect()failed!n);closesocket(sClient);/关闭套接字WSACleanup();return;charsendMessage=hellothisisclientmessage!;ret=send(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川绵阳市奥林匹克体育学校考核招聘教练员5人备考考试题库附答案解析
- 2025广西南宁市五一西路学校招聘老师4人备考考试题库附答案解析
- 2025年河北承德市直事业单位公开选调工作人员51名考试备考题库及答案解析
- 区块链食品溯源技术-洞察及研究
- 多光谱成像算法研究-洞察及研究
- 电商价格弹性分析-洞察及研究
- 购置税减半活动策划方案
- 山场巡查管理制度
- 化肥厂环保协议管理规章
- 档案馆档案寄存劳动合同5篇
- 2025至2030中国智能功率模块(IPM)行业项目调研及市场前景预测评估报告
- 安全编码规范
- 中医养生保健操课件
- 平台运营中心管理制度
- 彩钢板房安装合同范本
- 竞选卫生委员演讲稿
- 2025-2030年中国课外辅导行业市场现状供需分析及投资评估规划分析研究报告
- 2025年中国钢包烘烤器市场现状分析及前景预测报告
- 《直肠造口护理》课件
- 全球公共卫生事件的国际协作与应对
- 伤口造口护理指南版
评论
0/150
提交评论