Red de conocimiento informático - Conocimiento informático - Experimento 4, cómo programar el socket del servidor web

Experimento 4, cómo programar el socket del servidor web

1. Pasos de programación del socket de transmisión TCP

Antes de usarlo, debe vincular la función de biblioteca: Proyecto->Configuración->Enlace->Ingrese ws2_32.lib, ¡OK!

SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//Crea un socket (socket).

SOCKADDR_IN addrSrv;

addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//Convertir cortos sin firmar al formato de orden de bytes de red

addrSrv .sin_family =AF_INET;

addrSrv.sin_port=htons(6000);

El código del cliente es el siguiente:

#include

#include

void main()

{

WORD wVersionRequested;

WSADATA wsaData;

int err;

wVersionRequested = MAKEWORD( 1, 1 );

err = WSAStartup( wVersionRequested, &wsaData ); Cargando la biblioteca de sockets

if ( err != 0 ) {

return;

}

if ( LOBYTE( wsaData.wVersion ) != 1 ||< / p>

HIBYTE( wsaData.wVersion ) != 1 ) {

WSACleanup()( );

retorno

}

SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0); Crea un socket.

SOCKADDR_IN addrSrv;

addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

addrSrv.sin_family=AF_INET;

addrSrv.sin_port=htons(6000);

connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); emite una solicitud de conexión (conexión) al servidor.

char recvBuf[100]; comunicarse con el servidor (enviar/recv).

recv(sockClient,recvBuf,100,0);

printf("%s\n",recvBuf);

send(sockClient,"Esto es lisi",strlen("Esto es lisi")+1,0);

closesocket(sockClient);Cierra el socket.

WSACleanup()();//Esta función debe llamarse para borrar parámetros

}