Unix网络编程 chapter习题代码
修改原来的sever,每次只发一个字符:
#include<WinSock2.h>#include <iostream>#include <string>using namespace std;#pragma comment(lib, "WS2_32")const int MaxLine = 1024;int main(){char lReadline[MaxLine];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(9999);int lNum = 0;int lReadTime = 0;while (lReadTime++ < 10){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;}while( (lNum = recv(lSocket,lReadline,MaxLine,0)) > 0){string lStr(lReadline,lNum);cout << lStr;}}return 0;}