TCP客服端程式碼
阿新 • • 發佈:2018-12-15
這兩天在看網路程式設計,寫了點程式,發給大家看看.
首先看看流程:
#include <Windows.h> #include <iostream> using namespace std; #define SERVER_IP "192.168.0.168" //本地UDP伺服器IP #define SERVER_PORT 60008 //本地UDP伺服器埠 void main() { //載入套接字 try { WORD sockVersion = MAKEWORD(2, 2); WSADATA wsaData; int result = WSAStartup(sockVersion, &wsaData); if (0 != result) { return ; } if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { WSACleanup(); return ; } } catch (...) { return ; } char buff[1024]; memset(buff, 0, sizeof(buff)); //建立套接字 //SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0); SOCKET sockClient = NULL; try { sockClient = socket(AF_INET, SOCK_STREAM, 0); if (sockClient == INVALID_SOCKET) { return ; } } catch (...) { return ; } SOCKADDR_IN addrSrv; addrSrv.sin_family = AF_INET; addrSrv.sin_port = htons(60008); addrSrv.sin_addr.S_un.S_addr = inet_addr("192.168.0.168"); if (SOCKET_ERROR == sockClient){ printf("Socket() error:%d", WSAGetLastError()); return; } //向伺服器發出連線請求 if (connect(sockClient, (struct sockaddr*)&addrSrv, sizeof(addrSrv)) == INVALID_SOCKET){ printf("Connect failed:%d", WSAGetLastError()); return; } while (1) { //接收資料 recv(sockClient, buff, sizeof(buff), 0); printf("%s\n", buff); //傳送資料 char buff1[] = "hello, this is a Client...."; send(sockClient, buff1, sizeof(buff1), 0); } //傳送資料 char buff1[] = "hello, this is a Client...."; send(sockClient, buff1, sizeof(buff1), 0); //關閉套接字 closesocket(sockClient); WSACleanup(); }