



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/如果不能运行,改一下Ip地址,改成你本机地址,要先启动服务器端才行/服务器端#include #include #define LOCAL_ADDRESS #define PORT 5510 #define MSGSIZE 1024 #pragma comment(lib, ws2_32.lib) int main() WSADATA wsaData; /WSADATA是一个结构体,主要包含winsock的信息,返回唯一有用的信息就是winsock版本号int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);/加载Winsock库,并初始化 /MA
2、KEWORD(2,2)表示Windows支持的winsock版本 /&wsaData代表指向wsaData的地址,wsaData包含了winsock的信息printf(Initializing Winsock library.n);if (iResult != NO_ERROR)printf(Error at WSAStartup().n);elseprintf(Initialized sucessfully.n);/初始化成功SOCKET sLocal, sRemote;/实例化套接字sLocal,sRemoteSOCKADDR_IN local,remote;sLocal = socket
3、(AF_INET, SOCK_STREAM, IPPROTO_TCP); /初始化套接字memset(&local, 0, sizeof(SOCKADDR_IN); /用memset函数清空local为全0local.sin_family = AF_INET; /指定地址家族,此时必须设为AF_INETlocal.sin_port = htons(PORT); /指定通信端口号bind(sLocal, (struct sockaddr *)&local, sizeof(SOCKADDR_IN);/将套接字sLocal绑定到local所指定的IP地址listen(sLocal,3);/sLoca
4、l进入监听状态,3代表最大等待客户端数int iNamelen=sizeof(SOCKADDR_IN);/定义一个iNamelen,存放SOCKADDR_IN长度sRemote=accept(sLocal,(struct sockaddr *)&remote,&iNamelen );/accept()函数用来准备接收客户的连接,sLocal必须处于监听状态 /accept()函数返回的是一个新的套接字,它对应于已经建立连接的客户机char receiveMessageMSGSIZE,sendMessageMSGSIZE; /定义2个数组用来接 收和发送数据int ret; while (TRU
5、E) ret = recv(sRemote, receiveMessage, MSGSIZE, 0); /recv()函数用来接收客户端发来的数据,数据存放在receiveMessageMSGSIZE中 /recv()返回值是接收到的数据长度,此时赋给retif(ret!=0)/判断ret的值,如果为零则进入发送模式,不为零就打印所接收到的数据receiveMessageret = 0; /在接受到的数据末尾家一个停止字符printf(Received : %s n, receiveMessage); printf(服务器Send:);/进入发送模式gets(sendMessage); sen
6、d(sRemote, sendMessage, strlen(sendMessage), 0); /发送数据给客户机,发送的数据存放在sendMessage中closesocket(sLocal);/关闭套接字,释放资源closesocket(sRemote);WSACleanup(); /卸载winsock库return 0; /发送端#include #include #define REMOTE_ADDRESS #define PORT 5510 #define MSGSIZE 1024 #pragma comment(lib, ws2_32.lib) int main() WSADAT
7、A wsaData; /WSADATA是一个结构体,主要包含winsock的信息,返回唯一有用的信息就是winsock版本号int iResult = WSAStartup(0x0202, &wsaData);/加载Winsock库,并初始化 /MAKEWORD(2,2)表示Windows支持的winsock版本 /&wsaData代表指向wsaData的地址,wsaData包含了winsock的信息printf(Initializing Winsock library.n);if (iResult != NO_ERROR)printf(Error at WSAStartup().n);els
8、eprintf(Initialized sucessfully.n);SOCKET sRemote;/实例化套接字sRemoteSOCKADDR_IN remote;sRemote = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); /初始化套接字memset(&remote, 0, sizeof(SOCKADDR_IN); /用memset函数清空memsetremote.sin_family = AF_INET;/指定地址家族,此时必须设为AF_INET remote.sin_port = htons(PORT);/指定通信端口号 connect(sR
9、emote, (struct sockaddr *)&remote, sizeof(SOCKADDR_IN);/初始化连接服务器char receiveMessageMSGSIZE,sendMessageMSGSIZE; /定义2个数组用来接收和发送数据 int ret;while (TRUE) printf(客户端Send:);gets(sendMessage); send(sRemote, sendMessage, strlen(sendMessage), 0); /发送数据给服务器,发送的数据存放在sendMessage中ret = recv(sRemote, receiveMessage, MSGSIZE, 0);/判断ret的值,如果为零则进入接收模式,不为零就打印所接收到的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国医学影像设备行业市场白皮书
- 《冲突与沟通管理(专升本)》165206作业答案学习资料
- 浙江省温州市2024-2025学年高二上学期期末教学质量统一检测(B卷)历史试题2
- 【西方文论】第12讲 读者接受-反应批评与女性主义学习资料
- 湘美版三年级下册第13课 平捺教案设计
- 5鲁滨逊漂流记(节选) 教学设计-2023-2024学年语文六年级下册统编版001
- 四年级下册科学教学设计(含教材评析)-10《养昆虫》苏教版
- 7《中华民族一家亲》(教学设计 )- 2024-2025学年统编版道德与法治五年级上册
- 体育与健康七年级华东师大版 球类运动的基本技术足球运动欣赏教学设计
- 《采贝歌》(教学设计)-2024-2025学年音乐三年级上册湘艺版(2012)001
- 《旅游电子商务》课件
- 【公开课】Unit+2Reading+and+Thinking(2019)选择性必修第二册
- 老凤祥品牌文化课件
- 冷藏柜温度记录表
- 手术室利用PDCA循环降低手术室病理标本管理缺陷发生率品管圈QCC成果汇报
- 妇婴医院护理技术操作备皮操作流程图与考核评分标准
- 软件使用授权书
- 澳大利亚东水西调
- 脑卒中后吞咽障碍患者进食护理(2023年中华护理学会团体标准)
- 机构与零件应用智慧树知到课后章节答案2023年下山东轻工职业学院
- 绿色信贷项目节能减排量测算指引
评论
0/150
提交评论