Es la plicación básica del cliente, pero no se que puede fallar, llevo dandole vueltas y nada, no sale... No llega a conectar con el servidor...
Código:
//Librerias
#include <stdio.h>
#include <winsock2.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
int main(){
int opcion;
char StrMensaje[255] = "MSG_DOS";
menu:
system("cls");
SetConsoleTitle("Transter.WS - Cliente || By HJZR$");
int error_conectar;
short puerto = 999;
char ip[15]="172.26.0.106";
sock:
WSADATA WSAData;
SOCKET sck;
SOCKADDR_IN addr_in;
system("cls");
printf("Cargando el modulo Winsock...\nEspere por favor...\n");
if (WSAStartup(MAKEWORD(2, 0), &WSAData) !=0)
{
printf("Error al inicializar Winsock. Error: %d\n",WSAGetLastError());
system("Pause");
}
else
{
printf("Modulo Winsock cargado.\n");
addr_in.sin_family = AF_INET;
addr_in.sin_port = htons(puerto);
addr_in.sin_addr.S_un.S_addr = inet_addr(ip);
if (sck = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) == INVALID_SOCKET)
{
printf("Error al crear el socket\n");
}
else
{
reintentar:
printf("Conectando con ...%s:%i\n",ip,puerto);
if(connect(sck,(struct sockaddr*)&addr_in, sizeof(addr_in)) == SOCKET_ERROR)
{
printf("Error al conectar.\n");
printf("Reconectando en 5 segundos...\n");
Sleep(5000);
goto reintentar; // Se que no es bueno usarlo.. xD
}
else
{
printf("Conectado con %s:%i\n", ip, puerto);
// Mete el mensaje para enviar al servidor.
printf("Mensaje: ");
gets(StrMensaje);
if (send(sck, StrMensaje, sizeof(StrMensaje), 0) == SOCKET_ERROR)
{
printf("Imposible enviar mensaje\n");
}
else
{
printf("Enviado\n");
}
}
}
}
system("Pause");
return 0;
}
#include <stdio.h>
#include <winsock2.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
int main(){
int opcion;
char StrMensaje[255] = "MSG_DOS";
menu:
system("cls");
SetConsoleTitle("Transter.WS - Cliente || By HJZR$");
int error_conectar;
short puerto = 999;
char ip[15]="172.26.0.106";
sock:
WSADATA WSAData;
SOCKET sck;
SOCKADDR_IN addr_in;
system("cls");
printf("Cargando el modulo Winsock...\nEspere por favor...\n");
if (WSAStartup(MAKEWORD(2, 0), &WSAData) !=0)
{
printf("Error al inicializar Winsock. Error: %d\n",WSAGetLastError());
system("Pause");
}
else
{
printf("Modulo Winsock cargado.\n");
addr_in.sin_family = AF_INET;
addr_in.sin_port = htons(puerto);
addr_in.sin_addr.S_un.S_addr = inet_addr(ip);
if (sck = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) == INVALID_SOCKET)
{
printf("Error al crear el socket\n");
}
else
{
reintentar:
printf("Conectando con ...%s:%i\n",ip,puerto);
if(connect(sck,(struct sockaddr*)&addr_in, sizeof(addr_in)) == SOCKET_ERROR)
{
printf("Error al conectar.\n");
printf("Reconectando en 5 segundos...\n");
Sleep(5000);
goto reintentar; // Se que no es bueno usarlo.. xD
}
else
{
printf("Conectado con %s:%i\n", ip, puerto);
// Mete el mensaje para enviar al servidor.
printf("Mensaje: ");
gets(StrMensaje);
if (send(sck, StrMensaje, sizeof(StrMensaje), 0) == SOCKET_ERROR)
{
printf("Imposible enviar mensaje\n");
}
else
{
printf("Enviado\n");
}
}
}
}
system("Pause");
return 0;
}
A ver si alguien puede dar alguna idea... Muchas gracias de antemano
Salu2.
HJZR$.





Autor


En línea


