套接字编程实例.doc

套接字编程实例.doc

ID:62129240

大小:63.00 KB

页数:12页

时间:2020-02-26

套接字编程实例.doc_第1页
套接字编程实例.doc_第2页
套接字编程实例.doc_第3页
套接字编程实例.doc_第4页
套接字编程实例.doc_第5页
资源描述:

《套接字编程实例.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、原文地址:C++网络套接字编程TCP和UDP实例作者:xiaojiangjiang1.      创建一个简单的SOCKET编程流程如下面向有连接的套接字编程服务器:1) 创建套接字(socket)2) 将套接字绑定到一个本地地址和端口上(bind)3) 将套接字设定为监听模式,准备接受客户端请求(listen)4) 等待客户端请求到来,当请求到来后,接受连接请求,返回一个新的对应于此连接的套接字(accept)5) 用返回的套接字和客户端进行通信(send/recv);6) 返回,等待另一个客户端请求7) 关

2、闭套接字客户端:1) 创建套接字(socket)2) 向服务器发出连接请求(connect)3) 和服务器进行通信(send/recv)4) 关闭套接字面向无连接的套接字编程服务器:(接收端)1)      创建套接字(socket)2)      将套接字绑定到一个本地地址和端口上(bind)3)      用返回的套接字和客户端进行通信(recvfrom);4)      关闭套接字客户端:(发送端)1) 创建套接字(socket)2) 向服务器发送数据(sendto3) 关闭套接字例如:面向有连接的套接字

3、编程首先在工程-à设置àlink在对象库模板最后面再加上ws2_32.lib客户端:#include#includeintmain(){//第一步:加载socket库函数//**********************************************************WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(w

4、VersionRequested,&wsaData);if(err!=0){return0;}if(LOBYTE(wsaData.wVersion)!=1

5、

6、HIBYTE(wsaData.wVersion)!=1){WSACleanup();return0;}//**********************************************************//第一步,创建套接字SOCKETsockClient=socket(AF_INET,SOCK_STREAM,0);//定义套接字地址S

7、OCKADDR_INaddrSrv;addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//获取服务器IP地址,inet_addr()将IP地址转为点分十进制的格式addrSrv.sin_family=AF_INET;//sin_family表示地址族,对于IP地址,sin_family成员将一直是AF_INETaddrSrv.sin_port=htons(1234);//连接服务器//connect(sockClient,(SOCKADDR*)&addrSr

8、v,sizeof(SOCKADDR));if(connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR))!=0){//MessageBox("连接失败");//return;printf("error");return0;}else{printf("success");}charrecvBuf[100];recv(sockClient,recvBuf,100,0);printf("客户端接收到的数据:%s",recvBuf);send(sockClient,

9、"clientsend",strlen("clientsend")+1,0);//关闭套接字closesocket(sockClient);//清除套接字资源WSACleanup();return0;}  服务器端:#include#includeintmain(){//第一步:加载socket库函数//**********************************************************WORDwVersionRequested;WSAD

10、ATAwsaData;interr;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0){return0;}if(LOBYTE(wsaData.wVersion)!=1

11、

12、HIBYTE(wsaData.wVersion)!=1){WSACleanup();return0

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

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

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