tengo este programa para cliente y para servidor, es solo que nose cual ejecutar primero, imagino que el serividor, ademas es en mi misma compu, el codigo lo copie de una pagina paso a paso para lo que hago, y pues ejecuto el servidor y no se ve la pantalla pero el proceso esta activo y ejecuto despues cliente y no pasa nada de nada y no me da errores de nada ninguna de las dos, solo 1 warnign en cada uno pero no creo que alla problema, ayuda por favor, les agradeceria mucho me orientaran gracias
cliente
Código C++:
Ver original//cliente
#include <stdio.h>
#include <windows.h>
#include <winsock.h>
/* El chequeo de errores ha sido removido por claridad */
void main(void)
{
WSADATA WsaData;
WORD wVersionRequerida = MAKEWORD (2, 2);
/* Inicializar WinSock */
WSAStartup (wVersionRequerida, &WsaData);
SOCKET Sock;
Sock = socket (AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN DireccionServer;
memset (&DireccionServer
, 0, sizeof (DireccionServer
)); DireccionServer.sin_family = AF_INET;
DireccionServer.sin_addr.S_un.S_un_b.s_b1 = 127;
DireccionServer.sin_addr.S_un.S_un_b.s_b2 = 0;
DireccionServer.sin_addr.S_un.S_un_b.s_b3 = 0;
DireccionServer.sin_addr.S_un.S_un_b.s_b4 = 1;
DireccionServer.sin_port = 5000;
int iResult = connect (Sock, (SOCKADDR*) &DireccionServer, \
sizeof(DireccionServer));
if (iResult)
{
printf ("No se puede conectar\n"); return;
}
unsigned Dato = 2;
send (Sock, (char *)&Dato, sizeof (Dato), 0);
unsigned Rta;
recv (Sock, (char *)&Rta, sizeof (Rta), 0);
printf ("Dato enviado: %u, Respuesta recibida: %u\n", Dato
, Rta
);
closesocket (Sock);
WSACleanup();
}
servidor
Código C++:
Ver original//servidor
#include <stdio.h>
#include <windows.h>
#include <winsock.h>
/* El chequeo de errores ha sido removido por claridad */
void main(void)
{
/* Inicializar WinSock */
WSADATA WsaData;
WORD wVersionRequerida = MAKEWORD (2, 2);
WSAStartup (wVersionRequerida, &WsaData);
SOCKET SockEscucha;
SockEscucha = socket (AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN DireccionLocal;
memset (&DireccionLocal
, 0, sizeof (DireccionLocal
)); DireccionLocal.sin_family = AF_INET;
DireccionLocal.sin_port = 5000;
bind (SockEscucha, (SOCKADDR*)&DireccionLocal, sizeof (DireccionLocal));
int iResult = listen (SockEscucha, 5);
SOCKET SockConexion = accept (SockEscucha, NULL, NULL);
closesocket (SockEscucha);
unsigned Dato;
recv (SockConexion, (char *)&Dato, sizeof (Dato), 0);
unsigned Rta = Dato * 2;
send (SockConexion, (char *)&Rta, sizeof (Rta), 0);
printf ("Dato recibido: %u, Respuesta enviada: %u\n", Dato
, Rta
);
closesocket (SockConexion);
WSACleanup();
}