资源描述:
《Winsock编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、socket编程基础socket是什么意思在计算机通信领域,socket被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。socket的典型应用就是Web服务器和浏览器:浏览器获取用户输入的URL,向服务器发起请求,服务器分析接收到的URL,将对应的网页内容返回给浏览器,浏览器再经过解析和渲染,就将文字、图片、视频等元素呈现给用户。一个简单的Windows下的socket程序服务器端代码serve
2、r.cpp:复制纯文本新窗口1.#include2.#include3.#pragmacomment(lib,"ws2_32.lib")//加载ws2_32.dll4. 5.intmain(){6.//初始化DLL7.WSADATAwsaData;8.WSAStartup(MAKEWORD(2,2),&wsaData);9. 10.//创建套接字11.SOCKETservSock=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP)
3、;12. 13.//绑定套接字14.sockaddr_insockAddr;15.memset(&sockAddr,0,sizeof(sockAddr));//每个字节都用0填充16.sockAddr.sin_family=PF_INET;//使用IPv4地址17.sockAddr.sin_addr.s_addr=inet_addr("127.0.0.1");//具体的IP地址18.sockAddr.sin_port=htons(1234);//端口19.bind(servSock,(SOCKADD
4、R*)&sockAddr,sizeof(SOCKADDR));20. 21.//进入监听状态22.listen(servSock,20);23. 24.//接收客户端请求25.SOCKADDRclntAddr;26.intnSize=sizeof(SOCKADDR);27.SOCKETclntSock=accept(servSock,(SOCKADDR*)&clntAddr,&nSize);28. 29.//向客户端发送数据30.char*str="HelloWorld!";31.send(clnt
5、Sock,str,strlen(str)+sizeof(char),NULL);1. 2.//关闭套接字3.closesocket(clntSock);4.closesocket(servSock);5. 6.//终止DLL的使用7.WSACleanup();8. 9.return0;10.}#include#include#pragmacomment(lib,"ws2_32.lib")//加载ws2_32.dllintmain(){//初始化DLLWSAD
6、ATAwsaData;WSAStartup(MAKEWORD(2,2),&wsaData);//创建套接字SOCKETservSock=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);//绑定套接字sockaddr_insockAddr;memset(&sockAddr,0,sizeof(sockAddr));//每个字节都用0填充sockAddr.sin_family=PF_INET;//使用IPv4地址sockAddr.sin_addr.s_addr=inet_a
7、ddr("127.0.0.1");//具体的IP地址sockAddr.sin_port=htons(1234);//端口bind(servSock,(SOCKADDR*)&sockAddr,sizeof(SOCKADDR));//进入监听状态listen(servSock,20);//接收客户端请求SOCKADDRclntAddr;intnSize=sizeof(SOCKADDR);SOCKETclntSock=accept(servSock,(SOCKADDR*)&clntAddr,&nSize)
8、;//向客户端发送数据char*str="HelloWorld!";send(clntSock,str,strlen(str)+sizeof(char),NULL);//关闭套接字closesocket(clntSock);closesocket(servSock);//终止DLL的使用WSACleanup();return0;}客户端代码client.cpp:复制纯文本新窗口1.#include2.#include3.#incl