Unix网络编程 chapter5 TCP回射服务器程序winsock改写
sever:
#include<WinSock2.h>#include <iostream>#include <string>using namespace std;#pragma comment(lib, "WS2_32")short gPort = 9877;const int MaxLine = 1024;void StrClient(SOCKET &aSockfd){string lStr;getline(cin, lStr);send(aSockfd,lStr.c_str(),lStr.size(),0);char lSendline[MaxLine];int lReadSize = 0;if ( (lReadSize = recv(aSockfd,lSendline,MaxLine,0) ) == 0 ){cerr << "sever terminated prematurely\n";return ;}string lRecvStr(lSendline,lReadSize);cout << lRecvStr << endl;}int main(){int lRet = 0;WSADATA lWsaData;if ((lRet = WSAStartup(MAKEWORD(2,2), &lWsaData)) != 0){cout << "Error " << lRet << endl;return 0;}SOCKADDR_IN lAddr;lAddr.sin_family = AF_INET;lAddr.sin_port = htons(gPort);int lNum = 0;int lReadTime = 0;SOCKET lSocket = socket(AF_INET, SOCK_STREAM, 0);if (INVALID_SOCKET == lSocket){cout << "INVALID_SOCKET" << endl;return 0;}lAddr.sin_addr.s_addr = inet_addr("192.168.1.102");if (connect(lSocket,(sockaddr*)(&lAddr),sizeof(lAddr)) < 0 ){cout << "connect error" << endl;return 0;}StrClient(lSocket);return 0;}