服务器端源码:
- #include <winsock2.h>
- #include <stdio.h>
- #include <iostream>
- #pragma comment(lib, "ws2_32.lib")
- int main(void)
- {
- WORD wVer;
- WSADATA wsaData;
- int err;
- wVer = MAKEWORD(2, 1);
- err = WSAStartup(wVer, &wsaData);
- if (err != 0)
- {
- return 0;
- }
- SOCKET socketServ = socket(AF_INET, SOCK_STREAM, 0);
- SOCKADDR_IN addrServ;
- addrServ.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
- addrServ.sin_family = AF_INET;
- addrServ.sin_port = htons(6000);
- bind(socketServ, (SOCKADDR *)&addrServ, sizeof(SOCKADDR));
- listen(socketServ, 5);
- SOCKADDR_IN addrClient;
- int len = sizeof(SOCKADDR);
- while(1)
- {
- SOCKET sockConn = accept(socketServ, (SOCKADDR *)&addrClient, &len);
- char sendBuff[100];
- sprintf(sendBuff, "Welcome to %s http://www.sxs.la.",inet_ntoa(addrClient.sin_addr));
- send(sockConn, sendBuff, strlen(sendBuff) + 1, 0);
- char recvBuff[100];
- recv(sockConn, recvBuff, 100, 0);
- printf("%s/n", recvBuff);
- closesocket(sockConn);
- }
- return 0;
- }
客户端程序源码:
- #include <winsock2.h>
- #include <iostream>
- #pragma comment(lib, "ws2_32.lib")
- int main(void)
- {
- WORD wVer;
- WSADATA wsaData;
- int err;
- wVer = MAKEWORD(2, 1);
- err = WSAStartup(wVer, &wsaData);
- if (err != 0)
- {
- printf("abc");
- return 0;
- }
- SOCKET socketClient = socket(AF_INET, SOCK_STREAM, 0);
- SOCKADDR_IN addrServ;
- addrServ.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
- addrServ.sin_family = AF_INET;
- addrServ.sin_port = htons(6000);
- connect(socketClient, (SOCKADDR*)&addrServ, sizeof(SOCKADDR));
- char recvBuff[100];
- recv(socketClient, recvBuff, 100, 0);
- printf("%s/n", recvBuff);
- //char sendBuff[100];
- send(socketClient, "This is Client!", strlen("This is Client!") + 1, 0);
- closesocket(socketClient);
- WSACleanup();
- return 0;
- }