1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| #include<stdio.h> #include<stdlib.h> #include<WinSock2.h> #include<iostream> #include<cstring> #pragma comment(lib,"ws2_32.lib") using namespace std;
const int BUF_SIZE = 2048;
SOCKET sockSer, sockCli; SOCKADDR_IN addrSer, addrCli; int naddr = sizeof(SOCKADDR_IN);
char sendbuf[BUF_SIZE]; char inputbuf[BUF_SIZE]; char recvbuf[BUF_SIZE];
int main() { cout << "服务器启动" << endl; WSADATA wsadata; if (WSAStartup(MAKEWORD(2, 2), &wsadata) != 0) { cout << "载入socket库失败!" << endl; system("pause"); return 0; } else { cout << "载入socket库成功!" << endl; } sockSer = socket(AF_INET, SOCK_STREAM, 0);
addrSer.sin_addr.s_addr = inet_addr("10.118.26.2"); addrSer.sin_family = AF_INET; addrSer.sin_port = htons(1111);
bind(sockSer, (SOCKADDR*)&addrSer, sizeof(SOCKADDR));
while (true) { cout << "开始连接!" << endl; listen(sockSer, 5);
sockCli = accept(sockSer, (SOCKADDR*)&addrCli, &naddr); if (sockCli != INVALID_SOCKET) { while (true) { cout << "连接成功" << endl; cout << "请输入要发送给客户端的信息:" << endl; cin >> sendbuf; send(sockCli, sendbuf, sizeof(sendbuf), 0);
recv(sockCli, recvbuf, sizeof(recvbuf), 0); cout << "客户端发来的信息:" << recvbuf << endl; }
} else { cout << "连接失败!" << endl; } } closesocket(sockSer); closesocket(sockCli); return 0;
}
|