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
Visual Basic 6 - Messaggi con winsock
Forum - Visual Basic 6 - Messaggi con winsock

Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 9:25
Mercoledė, 11/02/2009
Ciao a tutti, č un po che mi sto sbattendo perchč voglio che alla pressione di un pulsante il server invii al client un codice e poi chiuda il server.
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2. a = "portachiusa"
  3. If Winsock2.State = 7 Then
  4. Winsock2.SendData a
  5. End If
  6. Winsock2.Close
  7. Winsock1.Close
  8. End
  9. End Sub


non funziona, ovvero non arriva niente al client, premetto che il resto funziona solo quetsa funzione non arriva. sapete aiutarmi? grazie

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 9:40
Mercoledė, 11/02/2009
Devi mostrare il codice che invia ma anche quello che riceve.

PM Quote
Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 9:58
Mercoledė, 11/02/2009
ciao ho capito che comunque il problema sta nel fatto che se tolgo le ultime due righe
Codice sorgente - presumibilmente Plain Text

  1. Winsock1.Close
  2. Winsock2.Close



il messaggio arriva al client, se le metto non arriva pių..come posso risolvere?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 9:59
Mercoledė, 11/02/2009
Ma cosa e' Winsock1?

PM Quote
Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 10:03
Mercoledė, 11/02/2009
č il controllo winsock che mette in ascolto una porta, mentre il winsock2 si connette ad una porta aperta sul client, winsock1 e winsock2 stanno sul server.

Ultima modifica effettuata da swet il 11/02/2009 alle 10:04
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 11:15
Mercoledė, 11/02/2009
Guarda ... non ho capito molto del tuo programma ... nč perchč utilizzi due controlli Winsock quando ne basta uno solo per comunicare.

In ogni caso, se chiudi il socket prima che la comunicazione sia terminata, č ovvio che avrai problemi.

Esiste un evento di Winsock che ti indica quando l'ultimo invio e' stato completato. Utilizza quell'evento per fare quello che vuoi fare dopo l'invio dei dati.

PM Quote
Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 11:51
Mercoledė, 11/02/2009
potresti farmi un esempio di come usare l' evento sendcomplete?

EDIT: ho detto una stupidagine! ora provo con sendcomplete

EDIT: in quel modo mi genera l' evento ogni qual volta invio qualcosa al server.. a me serve gestire l' evento solo quando clicco un pulsante. come faccio?

Ultima modifica effettuata da swet il 11/02/2009 alle 12:10
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 13:13
Mercoledė, 11/02/2009
Imposta una variabile booleana a true quando invii i dati tramite bottone. Nella SendComplete controlla quella variabile per capire se stai operando dal bottone o no.

PM Quote
Avatar
swet (Normal User)
Pro


Messaggi: 128
Iscritto: 01/01/2009

Segnala al moderatore
Postato alle 15:45
Giovedė, 12/02/2009
grazieeeee ho risolto!!!! grazie mille!!!

PM Quote