Today, I finally get the simplest network CS programming.

xiaoxiao2021-03-05  21

Server

#include #include #include #pragma comment (lib, "ws2_32.lib")

Int main (int Argc, char * argv []) {wsadata wsadata; Word SockVersion = MakeWord (2,0); WSAStartup (SockVersion, & WSADATA);

Socket S = Socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); if (s == invalid_socket) {Printf ("Failed socket () / n"); wsacleanup (); return 0;}

SockAddr_in sin; sin.sin_family = af_INET; sin.sin_port = HTONS (8888); sin.sin_addr.s_un.s_addr = incdr_any;

IF (Bind (s, (sin) == SOCKET_ERROR) {Printf ("Failed Bind () / n"); wsacleanup (); return 0;}

IF (Listen (S, 2) == Socket_ERROR) {Printf ("Failed Listen () / n"); wsacleanup (); return 0;}

SockAddr_in Remoteaddr; Int Naddrlen = SizeOf (RemoteAddr); Socket Client; Char Sztext [] = "Hello World!";

While (True) {Client = Accept (s, (sockaddr *) & remoteddr, & naddrlen; if (client == invalid_socket) {printf ("Failed Accept () / n"); Continue;} Printf ("Receive a connection :% S / N ", INET_NTOA (RemoteAddr.sin_addr); Send (Client, Sztext, Strlen (Sztext), 0); CloseSocket (Client);}

CloseSocket (s); wsacleanup (); return 0;

}

Client

#include #include #include #pragma comment (lib, "ws2_32.lib")

Int main (int Argc, char * argv []) {wsadata wsadata; Word SockVersion = MakeWord (2,0); WSAStartup (SockVersion, & WSADATA);

Socket S = Socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); if (s == invalid_socket) {Printf ("Failed socket () / n"); wsacleanup (); return 0;}

sockaddr_in servAddr; servAddr.sin_family = AF_INET; servAddr.sin_port = htons (8888); servAddr.sin_addr.S_un.S_addr = inet_addr ( "127.0.0.1"); if (connect (s, (sockaddr *) & servAddr, sizeof (servAddr )) == - 1) {Printf ("Failed connection () / n"); wsacleanup (); return 0;}

CHAR BUFFER [256]; INT NRECV = RECV (S, Buffer, 256, 0); if (NRECV> 0) {Buffer [NRECV] = '/ 0'; Printf ("has received data:% s / n" , buffer;} closesocket (s); wsacleanup (); return 0;

}

转载请注明原文地址:https://www.9cbs.com/read-39390.html

New Post(0)