实现Socket聊天程序使用C/C++//#include<>#include<>#include<>#include<>#ment(lib,"WS2_32")//{public:CInitSock(BYTEminorVer=2,BYTEmajorVer=2){//;WORDsockVersion=MAKEWORD(minorVer,majorVer);if(::WSAStartup(sockVersion,&wsaData)!=0){exit(0);}}~CInitSock(){::WSACleanup();}};/////////////////////////////////////////////////////////////*《使用说明》。(TCPServer)程序,再运行客户端(TCPClient)程序:如配置正确服务端会收到相关连接信息。,需要由服务器端首先发起会话(输入消息并确认发送),客户端收到消息后才能输入消息并确认发送到服务器端。并且双方每次只能发送一条消息。如想发送第二条消息,需要等待该方成功接受到另一方的消息后才能继续输入消息。*/#include""#include<>#include<>CInitSockinitSock;//初始化Winsock库intmain(){//创建套节字SOCKETs=::socket(,SOCK_STREAM,IPPROTO_TCP);if(s==INVALID_SOCKET){printf("Failedsocket()\n");return0;}//也可以在这里调用bind函数绑定一个本地地址//否则系统将会自动安排//填写远程地址信息sockaddr_inservAddr;=;=htons(4567);//注意,这里要填写服务器程序(TCPServer程序)所在机器的IP地址//如果你的计算机没有联网,=inet_addr("");if(::connect(s,(sockaddr*)&servAddr,sizeof(servAddr))==-1){printf("Failedconnect()\n");return0;}charbuff[256];charszText[256];while(TRUE){//从服务器端接收数据intnRecv=::recv(s,buff,256,0);if(nRecv>0){buff[nRecv]='\0';printf("接收到数据:%s\n",buff);}//向服务器端发送数据cin>>szText;szText[255]='\0';::send(s,szText,strlen(szText),0);}//关闭套节字::closesocket(s);return0;}///*《使用说明》。(TCPServer)程序,再运行客户端(TCPClient)程序:如配置正确服务端会收到相关连接信息。,需要由服务器端首先发起会话(输入消息并确认发送),客户端收到消息后才能输入消息并确认发送到服务器端。并且双方每次只能发送一条消息。如想发送第二条消息,需要等待该方成功接受到另一方的消息后才能继续输入消息。*/#include""#include<>#include<>CInitSockinitSock;//初始化Winsock库intmain(){//创建套节字SOCKETsListen=::socket(,SOCK_STREAM,IPPROTO_TCP);if(sListen==INVALID_SOCKET){printf("Failedsocket()\n");return0;}//填充sockaddr_in结构sockaddr_insin;
实现Socket聊天程序 来自淘豆网m.daumloan.com转载请标明出处.