The following is the TCP socket client and server source code, simple to use the reference bar
TCP Server
Copy Code code as follows:
#include <WinSock2.h>
#include <stdio.h>
#pragma comment (lib, "Ws2_32.lib")
int main ()
{
Initial Socket Library
WORD wverisonrequested;
Wsadata Wsadata;
int err;
wverisonrequested = Makeword (1, 1);
Err = WSAStartup (wverisonrequested, &wsadata);
if (Err!= 0)
{
return-1;
}
if (Lobyte (wsadata.wversion)!= 1 | |
Hibyte (wsadata.whighversion)!= 1)
//{
WSACleanup ();
return-1;
//}
Create socket
Socket sockserver = socket (af_inet, sock_stream, 0);
Bind socket
Sockaddr_in Addrserver;
Addrserver.sin_addr. S_un. S_ADDR = htonl (Inaddr_any);
addrserver.sin_family = af_inet;
Addrserver.sin_port = htons (6000);
Bind (Sockserver, (SOCKADDR *) &addrserver, sizeof (Addrserver));
Listen
Listen (Sockserver, 5);
Sockaddr_in addrclient;
int len = sizeof (addrclient);
while (1)
{
Accept
SOCKET sockconnection = Accept (Sockserver, (SOCKADDR *) &addrclient, &len);
Send
Char sendbuf[100];
sprintf (SendBuf, "Welcome%s", Inet_ntoa (ADDRCLIENT.SIN_ADDR));
Send (Sockconnection, SendBuf, strlen (SENDBUF) +1,0);
Receive
Char recvbuf[100];
Recv (Sockconnection, recvbuf, 100, 0);
//
printf ("%s", recvbuf);
Close connection Socket
Closesocket (sockconnection);
}
}
TCP Client
Copy Code code as follows:
#include <WinSock2.h>
#include <stdio.h>
#pragma comment (lib, "Ws2_32.lib")
int main ()
{
Initial Socket Library
WORD wverisonrequested;
Wsadata Wsadata;
int err;
wverisonrequested = Makeword (1, 1);
Err = WSAStartup (wverisonrequested, &wsadata);
if (Err!= 0)
{
return-1;
}
if (Lobyte (wsadata.wversion)!= 1 | |
Hibyte (wsadata.whighversion)!= 1)
//{
WSACleanup ();
return-1;
//}
Create socket
Socket sockclient = socket (af_inet, sock_stream, 0);
Connect Server socket
Sockaddr_in Addrserver;
Addrserver.sin_addr. S_un. S_ADDR = inet_addr ("127.0.0.1");
addrserver.sin_family = af_inet;
Addrserver.sin_port = htons (6000);
Connect (sockclient, (SOCKADDR *) &addrserver, sizeof (Addrserver));
Receive
Char recvbuf[100];
Recv (Sockclient, recvbuf, 100, 0);
//
printf ("%s", recvbuf);
Send
Char sendbuf[100] = "This is lisi\n";
Send (Sockclient, SendBuf, strlen (SENDBUF) +1,0);
Close connection Socket
Closesocket (sockclient);
Clean Socket Library
WSACleanup ();
}