1、Socket服务器端:
在工程中设置:link里面加上ws32_2.dll
#include <Winsock2.h>
- #include <stdio.h>
- void main()
- {
- //加载套接字
- WORD wVersionRequested;
- WSADATA wsaData;
- int err;
- wVersionRequested=MAKEWORD(1,1);
- err=WSAStartup(wVersionRequested,&wsaData);
- if (err!=0)
- {
- return;
- }
- if (LOBYTE(wsaData.wVersion)!=1||
- HIBYTE(wsaData.wVersion)!=1)
- {
- WSACleanup();
- return;
- }
- //创建监听的套接字
- SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);
- SOCKADDR_IN addrSrv;
- addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//把U_LONG的主机字节顺序转换为TCP/IP网络字节顺序
- addrSrv.sin_family=AF_INET;
- addrSrv.sin_port=htons(6000);
- //绑定套接字
- bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
- //将套接字设置为监听模式,准备接受用户请求
- listen(sockSrv,5);
- SOCKADDR_IN addrClient;
- int len=sizeof(SOCKADDR);
- printf("%s/n","welcome,the serve is started...");
- while (1)
- {
- //等待用户请求到来
- SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
- char sendBuf[100];
- sprintf(sendBuf,"welcome %s to http://unblue2008.javaeye.com",inet_ntoa(addrClient.sin_addr));
- //发送数据
- send(sockConn,sendBuf,100,0);
- char revBuf[100];
- //接收数据
- recv(sockConn,revBuf,100,0);
- //打印接受数据
- printf("%s/n",revBuf);
- //关闭套接字
- closesocket(sockConn);
- }
- }
Socket客户端:
- #include <Winsock2.h>
- #include <stdio.h>
- void main()
- {
- //加载套接字
- WORD wVersionRequested;
- WSADATA wsaData;
- int err;
- wVersionRequested=MAKEWORD(1,1);
- err=WSAStartup(wVersionRequested,&wsaData);
- if (err!=0)
- {
- return;
- }
- if (LOBYTE(wsaData.wVersion)!=1||
- HIBYTE(wsaData.wVersion)!=1)
- {
- WSACleanup();
- return;
- }
- //创建套接字
- SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
- SOCKADDR_IN addrSrv;
- addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//把U_LONG的主机字节顺序转换为TCP/IP网络字节顺序
- addrSrv.sin_family=AF_INET;
- addrSrv.sin_port=htons(6000);
- //向服务器发送请求
- connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
- //接受数据
- char recBuf[100];
- recv(sockClient,recBuf,100,0);
- printf("%s/n",recBuf);
- //发送数据
- send(sockClient,"this is 扈修非",strlen("this is 扈修非")+1,0);
- //关闭套接字
- closesocket(sockClient);
- WSACleanup();
- }