《简单的CSOCKET编程基于TCPIP协议》由会员分享,可在线阅读,更多相关《简单的CSOCKET编程基于TCPIP协议(3页珍藏版)》请在金锄头文库上搜索。
1、简单的 C+ SOCKET编程 -基于TCP/IP协议分别建两个工程。把cpp拷贝进去运行就可以了。server端:#include #include #pragma comment(lib,ws2_32.lib)void main()/创建套接字WORD myVersionRequest;WSADATA wsaData;myVersionRequest=MAKEWORD(1,1);int err;err=WSAStartup(myVersionRequest,&wsaData);if (!err)printf(已打开套接字n);else/进一步绑定套接字printf(嵌套字未打开!);ret
2、urn;SOCKET serSocket=socket(AF_INET,SOCK_STREAM,0);/创建了可识别套接字/需要绑定的参数SOCKADDR_IN addr;addr.sin_family=AF_INET;addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);/ip地址addr.sin_port=htons(6000);/绑定端口bind(serSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR);/绑定完成listen(serSocket,5);/其中第二个参数代表能够接收的最多的连接数/开始进行监听/SOCKADD
3、R_IN clientsocket;int len=sizeof(SOCKADDR);while (1)SOCKET serConn=accept(serSocket,(SOCKADDR*)&clientsocket,&len);/如果这里不是accept而是conection的话。就会不断的监听char sendBuf100;sprintf(sendBuf,welcome %s to bejing,inet_ntoa(clientsocket.sin_addr);/找对对应的IP并且将这行字打印到那里send(serConn,sendBuf,strlen(sendBuf)+1,0);char
4、 receiveBuf100;/接收recv(serConn,receiveBuf,strlen(receiveBuf)+1,0);printf(%sn,receiveBuf);closesocket(serConn);/关闭WSACleanup();/释放资源的操作client端:#include #include #pragma comment(lib,ws2_32.lib)void main()int err;WORD versionRequired;WSADATA wsaData;versionRequired=MAKEWORD(1,1);err=WSAStartup(versionR
5、equired,&wsaData);/协议库的版本信息if (!err)printf(客户端嵌套字已经打开!n);elseprintf(客户端的嵌套字打开失败!n);return;/结束SOCKET clientSocket=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_IN clientsock_in;clientsock_in.sin_addr.S_un.S_addr=inet_addr(127.0.0.1);clientsock_in.sin_family=AF_INET;clientsock_in.sin_port=htons(6000);/bind(c
6、lientSocket,(SOCKADDR*)&clientsock_in,strlen(SOCKADDR);/注意第三个参数/listen(clientSocket,5);connect(clientSocket,(SOCKADDR*)&clientsock_in,sizeof(SOCKADDR);/开始连接char receiveBuf100;recv(clientSocket,receiveBuf,101,0);printf(%sn,receiveBuf);send(clientSocket,hello,this is client,strlen(hello,this is client)+1,0);closesocket(clientSocket);WSACleanup(); /