/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Tengo un problema con este cliente...

 
      Índice del Foro elrincondelc.com -> Programación en Servidores
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
subdir_



Registrado: 10 Oct 2006
Mensajes: 27

MensajePublicado: 15/03/2007 2:46 pm
Título: Tengo un problema con este cliente...

Hola cuando compilo este Cliente todo funciona pero cuando el intenta conectar me dise que no se puede conectar no se por , pues no se mucho de sock mira este es el codigo "http://freixed.iespana.es/recursos/ejercicios%20C/clienteTcp/clienteTcp.htm"
alguien que ayude es muy *urgente
Volver arriba
mlc1564



Registrado: 14 Mar 2007
Mensajes: 9
Ubicación: argentina

MensajePublicado: 16/03/2007 9:29 am
Título: mi cliente...

Bueno aca esta el codigo de un cliente sincillito y facil de entender

Código:


#include <stdio.h>
#include "winsock2.h"
#include <string>

#define BUFFERSIZE 7000

int main(){

   //
   WSADATA wsaData;
    SOCKET m_socket;
    sockaddr_in clientService;
   int bytesSent;
    int bytesRecv=0;
   std::string sendbuf;
    char recvbuf[BUFFERSIZE];

    // Initialize Winsock.
    int iResult=WSAStartup(MAKEWORD(2,2),&wsaData);
    if (iResult!=NO_ERROR){
     printf("Error at WSAStartup()\n");
    WSACleanup();
    return 1;
   }
   printf("Result:%d\n",iResult);

    // Create a socket.
    m_socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    if (m_socket==INVALID_SOCKET){
     printf("Error at socket(): %ld\n",WSAGetLastError());
    closesocket(m_socket);
     WSACleanup();
     return 1;
    }

   // lose the pesky "Address already in use" error message
   u_char ttl;
   if (setsockopt(m_socket,SOL_SOCKET,SO_REUSEADDR,(char *)&ttl,sizeof(ttl))==-1){
    perror("setsockopt");
    closesocket(m_socket);
    WSACleanup();
     return(1);
   }
   
    // Connect to a server.
    clientService.sin_family=AF_INET;
    clientService.sin_addr.s_addr=inet_addr("192.168.1.100");//htonl(INADDR_ANY);
    clientService.sin_port=htons(3000);

    if (connect(m_socket,(SOCKADDR*)&clientService,sizeof(clientService))==SOCKET_ERROR){
     printf("Failed to connect.\n");
    printf("Error %ld\n",WSAGetLastError());
    closesocket(m_socket);
     WSACleanup();
     return 1;
    }

   // Send and receive data.
   while(1){
   
     /* ENVIAR */
     printf("Sending PING\n");

     sendbuf="PING";

     bytesSent=send(m_socket,sendbuf.data(),sendbuf.size(),0);

     if (bytesSent<0)
        break;
     /* FIN ENVIAR */

     /* RECIBIR */

     memset(recvbuf,'\0',BUFFERSIZE);

     bytesRecv=recv(m_socket,recvbuf,BUFFERSIZE,0);
    
      printf("Bytes Recv: %ld\n",bytesRecv);
     printf("Recibi: %s\n",recvbuf);

     if (bytesRecv<0)
        break;

     /* FIN RECIBIR */
     ::Sleep(1000);
   }

   closesocket(m_socket);
   WSACleanup();
   return 0;
}



tene en cuenta a la direccion IP a la que conectas.
_________________
uso Visual C++ 6
y programo en Windows XP SP2


Wink MLC1564 Wink
Volver arriba
Diabliyo



Registrado: 14 Abr 2004
Mensajes: 317
Ubicación: En la Luna

MensajePublicado: 19/03/2007 10:13 am
Título: Re: Tengo un problema con este cliente...

subdir_ escribió:
Hola cuando compilo este Cliente todo funciona pero cuando el intenta conectar me dise que no se puede conectar no se por , pues no se mucho de sock mira este es el codigo "http://freixed.iespana.es/recursos/ejercicios%20C/clienteTcp/clienteTcp.htm"
alguien que ayude es muy *urgente


Primeramente para poder conectarte a algun lugar, debes tener a alguien en ESCUCHA, osease digamos un Programa Receptor o Servidor que escuche o espere clientes en un puerto, tambien debes tener el IP del Servidor o "127.0.0.1" en caso que sea nuestro propio PC.

SERVIDOR (esperando conexiones entrantes)

CLIENTE (se conecta a un servidor)


Oviamente si ejecutas el programa que pones como ejemplo, NUNCA conectara :S, ya que no existe un programa en escucha :S !!!

byeee
_________________

Volver arriba
      Índice del Foro elrincondelc.com -> Programación en Servidores
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com