|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Registered User
Iscritto dal: Aug 2002
Messaggi: 274
|
[vb6] winsock
ho un problema col winsock
devo mettere il programma in ascolto su una determinata porta, il problema è che la macchina ha 3 indirizzi ip: 192.168.0.1 10.10.10.1 e 127.0.0.1 (?) ha anche due schede di rete e la porta deve stare in ascolto su 192.168.0.1 come si fa ? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
il 127.0.0.1 è il locale di ogni macchina (anche se nn in rete), per cui nn lo prendiamo in considerazione
saranno anche le 4 del mattino ma nn capisco il tuo problema, nn sai come fare a mattere in ascolto il winsock ad una determinata connessione? sai che nn capisco la cosa degli IP, se tu da remoto cerchi di connetterti al winsock lui a qlc IP ti colleghi della macchina in questione va bene, se ne ha + di uno è indifferente, tanto lui li prende tutti. Se nn sei capace a connettere due pc tramite il winsosk ti posso dare una mano, tanto nel client tu dici che IP vuoi collegare e lui si collegerà se la porta dell'IP selezionato è in ascolto. ciaoooooooooooooo |
|
|
|
|
|
#3 |
|
Registered User
Iscritto dal: Aug 2002
Messaggi: 274
|
il problema forse non è chiaro
se una macchina ha 2 indirizzi ip su due schede di rete differrenti e metto il winsock in ascolto su una determinata porta, lui su quale ip si mette in ascolto ? su tutti e due ? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se non specifichi l'ip su cui deve stare in ascolto...lui ascolta su tutti gli IP... Corripsonde al bind sull'indirizzo 0.0.0.0
|
|
|
|
|
|
#5 |
|
Registered User
Iscritto dal: Aug 2002
Messaggi: 274
|
per specificarglielo come si fa ?
gli devo specificare 192.168.0.1 |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
CLIENT: Si, nel Winsock.RemoteIP devi mettere quello che ti interesse ed in Windowsk.RemotePort la porta a cui si connette
SERVER: invece devi mettere Winsock.LocalPort la porta a cui vuoi mettere in ascolto. Poi per "ascoltare" fai Winsock.Listen Quando il client invece fa Winsock.Connect fa scattare l'evente ConnectionRequest, a questo punto fai cosi (se è un collegamento diretto, cioè se solo un client si connette per volta): Private Sub Winsock_ConnectionRequest(ByVal requestID As Long) If Winsock <> sckClosed Then Winsock.Close End If Winsock.Accept requestID end sub |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
|
Resuscito il thread per non crearne uno nuovo
Io sto cercando di fare una sorta di programmino di chat con visual basic 6 e winsock. il problema è che se invio velocemente molte stringhe di testo, queste si accavallano. Praticamente, dopo che inserisco la nuova stringa arrivata (da DataArrival) nella casella di testo, aggiungo un chr$(13) per andare a capo. Ma se arrivano molte stringhe insieme, si accavallano, e nella casella di testo compaiono non a capo a affiancate Non so come risolvere il problema... Mi aiutate per favore? Grazie Ciaux
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quanto è molto strano perchè in teoria il controllo winsock ha un buffer che memorizza tutte le cose che ti arrivano e te le "risputa" una alla volta
Perchè per ovviare al problema nn mandi già la stringa contenente il carattere vbCrLf ?!?! Cosi anche se ne arrivano + di una va poi a capo lo stesso |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
|
Quote:
Intendi quello che io chiamo chr(13) ? Caspita mi hai letto nella mente Comunque ho fatto come hai detto, e sembra funzionare!!! Grandissimo Grazie 1000000000 Ciaux
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
Sono contento Il tutto quello che in VB6 inizia con vb... possiamo definirli parametri....per esempio il vbCrLf è la combinazione di chr(13) + chr(10). C'è ne sono un infinità, per esempio vbChecked per le checkbox, oppure vbNullChar che contiene il caattere chr(0)...insomma tanti tanti |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
|
Quote:
Non l'ho mai capito...! E soprattutto, perchè combinarli insieme?! Ciao e grazie ancora
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
chr(10)=Line Feed -> cambia linea
chr(13)=Carriage Return -> il carrello torna all'inizio riga combinati assieme fa la doppia azione torna a capo con il cursore e va all'inizio riga. Come puoi notare sono anche le iniziali di vbCrLf |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:06.



















