Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Socket[Client/Server]
Forum - C/C++ - Socket[Client/Server] - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Franck (Normal User)
Rookie


Messaggi: 43
Iscritto: 06/07/2010

Segnala al moderatore
Postato alle 22:57
Martedì, 06/07/2010
Questi sono gli errori
Codice sorgente - presumibilmente VB.NET

  1. main.obj : error LNK2019: riferimento al simbolo esterno _closesocket@4 non risolto nella funzione _main
  2. main.obj : error LNK2019: riferimento al simbolo esterno _send@16 non risolto nella funzione _main
  3. main.obj : error LNK2019: riferimento al simbolo esterno _connect@12 non risolto nella funzione _main
  4. main.obj : error LNK2019: riferimento al simbolo esterno _htons@4 non risolto nella funzione _main
  5. main.obj : error LNK2019: riferimento al simbolo esterno _socket@12 non risolto nella funzione _main
  6. main.obj : error LNK2019: riferimento al simbolo esterno _WSAStartup@8 non risolto nella funzione _main


PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 23:01
Martedì, 06/07/2010
Allora non è che "non funziona" ma non viene "compilato" ... è un'altra storia.

Sono errori del linker che ti informa che non sa dove trovare quelle funzioni di libreria.

Inserisci all'inizio del codice la linea

#pragma comment(lib, "ws2_32.lib")

e prova a compilare nuovamente.

Tra l'altro, il codice che hai mostrato è in C non in C++ ...

Ultima modifica effettuata da il 06/07/2010 alle 23:02
PM
Avatar
Franck (Normal User)
Rookie


Messaggi: 43
Iscritto: 06/07/2010

Segnala al moderatore
Postato alle 23:07
Martedì, 06/07/2010
mi da questo errore.
Run-Time Check Failure #3 - The variable 'ch' is being used without being initialized.
mi servirebbe una spiegazione coma faccio ad inviare al server il messaggio da me impostato.

p.s.
ancora il server non lo scritto^^

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 23:13
Martedì, 06/07/2010
Testo quotato

Postato originariamente da Franck:

mi da questo errore.
Run-Time Check Failure #3 - The variable 'ch' is being used without being initialized.



Deve essere

char ch = 0;

Testo quotato

mi servirebbe una spiegazione coma faccio ad inviare al server il messaggio da me impostato.

p.s.
ancora il server non lo scritto^^



Dopo che hai scritto il server ...

PM
Avatar
Franck (Normal User)
Rookie


Messaggi: 43
Iscritto: 06/07/2010

Segnala al moderatore
Postato alle 13:52
Mercoledì, 07/07/2010
cosa devo sistemare in questo codice.
Codice sorgente - presumibilmente C++

  1. #include <windows.h>
  2. #include <winsock.h>
  3. #include <stdio.h>
  4. #pragma comment(lib, "ws2_32.lib")
  5.  
  6. int main(int argn,char **argv){
  7. int err = 0,errori = 0;
  8. SOCKET sock; // creo la socket chiamato sock che userò nella connessione
  9. struct sockaddr_in sock_addr; // inizializzo la socket
  10. WSADATA data;  // inizializzo la variabile che contiene le primitive di Winsock
  11. WORD p;
  12. p=MAKEWORD(2,0);  // creo la variabile p che contiene la versione della wsock32.dll
  13. char messaggio[2000];
  14.  
  15. for(int x=0;;x++){
  16. err = WSAStartup(p,&data); // inizializzo la wsock32.dll verificandone la mancanza di errori
  17.  
  18. sock=socket(PF_INET,SOCK_STREAM,0);  // creo la socket indicandone le caratteristiche
  19. sock_addr.sin_family=PF_INET; // indico il protocollo utilizzato (TCP/IP)
  20. sock_addr.sin_port=htons(1111); //indico la porta a cui connettere la socket
  21. sock_addr.sin_addr.S_un.S_un_b.s_b1=127; // indico l'indirizzo IP
  22. sock_addr.sin_addr.S_un.S_un_b.s_b2=0;
  23. sock_addr.sin_addr.S_un.S_un_b.s_b3=0;
  24. sock_addr.sin_addr.S_un.S_un_b.s_b4=1;
  25. err = connect(sock,(struct sockaddr*)&sock_addr,sizeof(struct sockaddr)); // mi connetto all'indirizzo scelto
  26. //*********************dialogo***********************//
  27. if(x==0){
  28. char mex[2000];
  29. recv(sock,mex,2000,0);
  30. printf("FROM server: %s",mex);  
  31. }
  32. printf("commands> ");
  33. gets(messaggio);
  34. if(messaggio[0] == 'e' && messaggio[1] == 'x' && messaggio[2] == 'i' && messaggio[3] == 't')
  35. break;
  36. errori = send(sock,messaggio,2000,0);
  37. if(errori == 2000){
  38. printf("2000 comando:  %s\n",messaggio);
  39. }else{
  40. printf("errore send() %d\n" ,errori);
  41. }                
  42. closesocket(sock);  // chiudo la socket
  43. WSACleanup();       //libero le risorse utilizzate dalla libreria Winsock
  44. }//end for
  45. printf("\n\n%d\n",err);
  46. return 0;
  47. }


PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 14:13
Mercoledì, 07/07/2010
Diccelo tu, se l'hai scritto, compilato e usato !

Finora ho avuto molta pazienza, ma questo non è il modo di usare un forum di programmazione ...


PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 15:14
Mercoledì, 07/07/2010

vista la totale mancanza di volontà dello starter del thread mi vedo costretto a lockare.

franck, non si usa così il forum.

PM
Pagine: [ 1 2 ] Precedente | Prossimo