Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C# - C++] socket tra server in C# e client C++

    Ciao a tutti.
    come da oggetto,vorrei sapere se ci sono particolari accorgimenti per far comunicare un client sviluppato in c++ ed un server fatto in c#.
    Ho realizzato il server in c# e richiamandolo tramite un client sviluppato con lo stesso linguaggio riesco a farli comunicare...ho poi provato ha realizzare una chiamata da un semplice client fatto in c++ ma non si vedono !!! So che sono un po sul vago....

    attendo qualche dritta.
    mic

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    "Non si vedono" ? Sei tanto sul vago che ti potrei dire che e' un problema di vista del client ...

    A parte gli scherzi, se il server funziona (dato che con un altro client funziona), il problema e' nel client C++ ma non nel linguaggio o in una "incompatibilita'" ma solamente nel suo codice ...

    Se dai maggiori indicazioni e fai un po' di debug, si puo' determinare in modo preciso il problema e cercare le soluzioni ..
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    perdona il codice confusionario....ho fatto mille prove...
    codice:
    
    #define IP_ENDPOINT   "192.168.5.189"
    #define PORTA_ENDPOINT 10000
    /*-----------------------------------*/
    SOCKET TCPCreateSocket()
    {
       SOCKET s;
       struct sockaddr_in indirizzo_enpoint;
       int Errore;
    
       //memset((void *) &indirizzo, 0, sizeof(indirizzo)); /* clear server address */
    
       indirizzo_enpoint.sin_family = AF_INET;                                        //imposto la famiglia   
       indirizzo_enpoint.sin_port = htons(PORTA_ENDPOINT);                            //memorizzo la porta dell'endpoint nella struttura
    
       if( inet_addr(IP_ENDPOINT) == 0)
       {
          printf("","l'indirizzo ip non è valido\n");
       }
       else
       {
       indirizzo_enpoint.sin_addr.s_addr = inet_addr(IP_ENDPOINT);
       }
    
       // creo il socket passandogli la famiglia (PF_INET) tipo di protocollo (SOCK_STREAM)
       s = socket(PF_INET, SOCK_STREAM, 0);
       if( s >= 0)
       {
          printf("socket creato correttamente\n");
       }
       else
       {
          printf("%s%d%s","socket non creato --- errore ---> : ",s, "\n");
       }
    
    
       Errore = connect(s, (const struct sockaddr*)&indirizzo_enpoint, sizeof(indirizzo_enpoint));
    
       if( Errore >= 0)
       {
          printf("connessione riuscita\n");
       }
       else
       {
          printf("connessione non riuscita\n");
       }
    
       return s;
    }


    facendo debug entra sempre nel else dell'ultimo if....in sostanza non mi accetta la connessione,ma il socket sembra crearlo o meglio accetta senza errori i suoi parametri....
    mic

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non ho esaminato a fondo il codice ma se il risultato della connect e' -1 allora c'e' stato un errore ... quindi se entra nella else e' perche' c'e' un errore ...

    Solo se restituisce 0 allora e' andata bene ...

    L'errore specifico lo trovi in errno ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.