elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Problema con aplicación cliente.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con aplicación cliente.  (Leído 553 veces)
HJZR4

Desconectado Desconectado

Mensajes: 101


C0N0C1M13NT0


Ver Perfil
Problema con aplicación cliente.
« en: 23 Noviembre 2007, 20:53 »

Pues tengo un problema con la aplicación cliente. El servidor se que está bien porque el firewall de Windows me avisa de que se están abriendo los puertos...
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;
}

A ver si alguien puede dar alguna idea... Muchas gracias de antemano
Salu2.
HJZR$.


En línea

Para aprender solo hay una solución:
LeeR y Preguntar
Ferсhu


Desconectado Desconectado

Mensajes: 1.214

Menos palabras y Mas codigos.


Ver Perfil WWW
Re: Problema con aplicación cliente.
« Respuesta #1 en: 24 Noviembre 2007, 00:12 »

Tu problema esta con los ifs y con los elses, le sake todo eso y anda. revisalo.

Citar
#include <stdio.h>
#include <winsock.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>

int main(){
   int opcion;
   char StrMensaje[255] = "MSG_DOS";
   
    int error_conectar;
    short puerto = 999;
    char ip[15]="192.168.1.5"; // mi yp :p

           
    WSADATA WSAData;
    SOCKET sck;
    SOCKADDR_IN addr_in;
    printf("Cargando el modulo Winsock...\nEspere por favor...\n");
    WSAStartup(MAKEWORD(2, 0), &WSAData);
           
        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);

        sck = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
        printf("Conectando con ...%s:%i\n",ip,puerto);
        if(connect(sck,(struct sockaddr*)&addr_in, sizeof(addr_in)) == SOCKET_ERROR)
        printf("Mensaje: ");
        send(sck, StrMensaje, sizeof(StrMensaje), 0);

    system("Pause");
    return 0;
}


Saludos!!


En línea

HJZR4

Desconectado Desconectado

Mensajes: 101


C0N0C1M13NT0


Ver Perfil
Re: Problema con aplicación cliente.
« Respuesta #2 en: 24 Noviembre 2007, 02:50 »

Ni siquiera he probado el código que me has dicho. Pero se que de los if y else no es:1º porque están para mostrar los errores y 2º por que están revisados... Si no, no hubiese escrito este tema. Voy a pribar tu code... Gracias, de todas formas... :)
En línea

Para aprender solo hay una solución:
LeeR y Preguntar
Ferсhu


Desconectado Desconectado

Mensajes: 1.214

Menos palabras y Mas codigos.


Ver Perfil WWW
Re: Problema con aplicación cliente.
« Respuesta #3 en: 24 Noviembre 2007, 03:43 »

no es mi code es tu code, solo borre cosas, cambie la ip y agregue comentarios.


y sobre todo le sake las ETIKETASSSSS jajaja me habia olvidado de decir.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
MSTSC y como invocar una aplicacion en cliente
Windows
ypsilon 0 1,265 Último mensaje 19 Octubre 2011, 13:10
por ypsilon
Problema con cliente de un Servicio Web
Java
Schattenmann 0 278 Último mensaje 18 Noviembre 2012, 01:35
por Schattenmann
Problema con cliente FTP en C
Programación C/C++
DrKillador 3 271 Último mensaje 29 Agosto 2013, 22:23
por eferion
Problema con mi aplicacion
Java
multiuso 1 170 Último mensaje 23 Octubre 2013, 19:10
por Darhius
Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines