|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2007
Messaggi: 224
|
[C\C++]Chat C++
Salve a tutti, ho una chat scritta in c++ vorrei sapere come è possibile prendere l'ip della persona che invia il messaggio al server?
Questo è il codice: Server: Codice PHP:
Codice PHP:
__________________
My Computer: MotherBoard:Asus P5Q SE \ Ram:Crossair DDR2 800 Mhz \ CPU:Intel Dual Core E5200 2500Ghz \ Scheda Video: Nvidia GeForce 9600GT Zotac |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Supponendo che tu stia usando i socket bsd c'è la funzione getpeername.
Ah un consiglio sulle eccezioni usa i riferimenti, meglio ancora un const reference. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Dec 2007
Messaggi: 224
|
Sapreste dirmi come e dove la dovrei collolare nel codice?
non tanto mi è chiaro come funziona.
__________________
My Computer: MotherBoard:Asus P5Q SE \ Ram:Crossair DDR2 800 Mhz \ CPU:Intel Dual Core E5200 2500Ghz \ Scheda Video: Nvidia GeForce 9600GT Zotac |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Per il funzionamento richiede in ingresso il descrittore del socket (che nel tuo caso mi sembra essere la varibile socket della classe Socket), il puntatore a una struttura sockaddr_in e il puntatore alla dimensione di sockaddr_in, in uscita ti troverai i dati dell'ip e della porta del socket remoto. |
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Dec 2007
Messaggi: 224
|
io vorrei collocarla nel lato server, dove riceve il messaggio :
Codice PHP:
__________________
My Computer: MotherBoard:Asus P5Q SE \ Ram:Crossair DDR2 800 Mhz \ CPU:Intel Dual Core E5200 2500Ghz \ Scheda Video: Nvidia GeForce 9600GT Zotac |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Io aggiungerei un elemento alla struct mClient da valorizzare dopo l'Accept per evitare di calcolare tutte le volte l'informazione.
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Dec 2007
Messaggi: 224
|
Edit4: ok ora funziona alla grande, grazie miller per l'aiuto datomi.
Unico Problema: non riesco a linkare le librerie in VC++ 6 come faccio? dovrei linkare questa libreria libws2_32.a ma ho notato che non è neanche presente nella cartelle delle librerie del visual c, come faccio?
__________________
My Computer: MotherBoard:Asus P5Q SE \ Ram:Crossair DDR2 800 Mhz \ CPU:Intel Dual Core E5200 2500Ghz \ Scheda Video: Nvidia GeForce 9600GT Zotac Ultima modifica di 4ndr34s : 22-11-2009 alle 11:28. |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Scusa ma perchè stai usando un compilatore di 11 anni fa? Usa VisualStudio 2008 Express che è un altro mondo (meglio ancora VS2010 Beta2). |
|
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Dec 2007
Messaggi: 224
|
Quanto sono fesso xD
certe volte.... io avevo copiato e incollato il codice in visual c ma non avevo aggiunto i file del progetto di code block nel progetto del visual e quindi dava tutti quei errori xD grazie mille per l'aiuto
__________________
My Computer: MotherBoard:Asus P5Q SE \ Ram:Crossair DDR2 800 Mhz \ CPU:Intel Dual Core E5200 2500Ghz \ Scheda Video: Nvidia GeForce 9600GT Zotac Ultima modifica di 4ndr34s : 22-11-2009 alle 15:02. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:13.