Red de conocimiento informático - Problemas con los teléfonos móviles - Puntos de interrupción de la programación de sockets

Puntos de interrupción de la programación de sockets

//Servidor

# incluir ltwinsock2.h gt

# incluir ltstdio.h gt

#pragma comentario (lib, " ws2_32.lib ")

void main(){

WORD wV

WSADATA ws

int er

wV=MAKEWORD(1, 1);

er=WSAStartup(wV, ampws);

Si (uh!=0){

Devolver;

}

if(LOBYTE(ws.wVersion)!=1||HIBYTE(ws.wVersion)!=1){

WSACleanup();

Regresar;

}

SOCKET sockSrv=socket(AF_INET, SOCK_STREAM, 0);

SOCKADDR _ IN addrSrv

addrSrv.sin_addr . Sol.

s_addr = htonl(in addr_ANY);

addrSrv.sin_family = AF_INET

addr SRV sin_port = htons(6000);

bind(sockSrv, (SOCKADDR *) amp; addrSrv, tamaño de (SOCKADDR));

escuchar(sockSrv, 5);

SOCKADDR _ IN addrClient

int len ​​​​= tamaño de (SOCKADDR);

while(1)

{

SOCKET sockConn=accept(sockSrv, (SOCKADDR *) amp ; addr client & len <); /p>

char send buf[100];

sprintf(sendBuf, "Bienvenidos a Wozhe", inet_ntoa(addr client. sin _ addr)); (sockConn, sendBuf, strlen(sendBuf) 1, 0;

char recvBuf[100];

recv(sockConn, recvBuf, 100, 0); p>printf("s\n ", recvBuf);

cerrar socket(conector de calcetín

}

p>

}

<); p>//Cliente

# incluir ltwinsock2.h gt

# incluir ltstdio.h gt

#pragma comentario(lib, " ws2_32.lib ")

void main(){

WORD wV

WSADATA ws

int er

wV=MAKEWORD( 1, 1);

er=WSAStartup(wV, ampws);

if (uh!=0){

p>

Return;

}

if(LOBYTE(ws.wVersion)!=1||HIBYTE(ws.wVersion)!=1){

WSACleanup();

Regresar;

}

SOCKET sockC=socket(AF_INET, SOCK_STREAM, 0);

SOCKADDR_IN direcciónS

direcciónS .sin_addr. Sol.

s _ addr = inet _ addr(" 127 . 0 . 0 . 1 ");

addrS.sin _ family = AF _ INET

addrs . 6000);

connect(sockC, (SOCKADDR *) amp; addrS, sizeof(SOCKADDR));

char recvB[100];

recv( sockC, recvB, 100, 0);

printf("s\n ", recvB);

send(sockC, "Esta es una lista", strlen("Esto es una lista ") 1, 0);

cerrar socket(sockC);

WSACleanup();

}