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 - inviare messaggi
Forum - Visual Basic 6 - inviare messaggi

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:31
Venerdì, 31/08/2007
ciao a tutti!
sto cercando di realizzare un programma che funziona tipo messenger. Cioè che in ciascuno di due computer c'è un programma, sempre lo stesso, in cui c'è un textbox con un pulsante.
io vorrei che quando viene premuto il pulsante il messaggio inserito nel texbox che ad esempio può essere prova, venga poi visualizzato nel textbox della copia del programma solo che in un altro computer.
mi potete aiutare:-?:-?:-?:-?:-?:-?:-?

PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 19:43
Venerdì, 31/08/2007
Per fare un programma del genere devi usare l'oggetto winsock.
Aggiungi questo oggetto alle due form dei dui progetti. Dopo nel codice del server scrivi:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form1_Load()
  2.   Winsock1.localport=1001
  3.   Winsock1.listen
  4. End Sub
  5.  
  6. Private Sub Winsock1_ConnectionRequest(ByVal
  7. requestID As Long)
  8.   Winsock1.Close
  9.   Winsock1.accept requestID
  10. End Sub


Nel client invece in un button
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2. Winsock1.localport=1001
  3. Winsock1.remoteip ="" qui inserisci l'ip remoto
  4. Winsock1.connect
  5. End Sub


Questo codice ti serve per connettere due applicazioni tra di loro.
Il server è in listen e aspetta la connessione da parte del client.
Per inviare i dati usa la funzione
Codice sorgente - presumibilmente Plain Text

  1. Winsock1.SendData stringadainviare


Dove stringadainviare sarebbe per esempio il contenuto della tua textbox quindi
Codice sorgente - presumibilmente Plain Text

  1. Winsock1.SendData text1.text


dove text1 è la tua text box
Poi nel server gestisci l'evento fata arrival
Codice sorgente - presumibilmente VB.NET

  1. Private Sub conn_DataArrival(ByVal bytesTotal As Long)
  2.   dim data as string
  3.   Winsock1.getdata data
  4. End Sub


la variabile data ora conterrà ciò che hai inviato tu dal client.
Ah se quando connetti il client non c'è un programma in listen andra in errore quindi gestisci nel client l'evento errore di winsock.
Spero di essere stato chiaro.
Ciao.

Ultima modifica effettuata da LuigiBiasi il 31/08/2007 alle 19:50
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 19:50
Venerdì, 31/08/2007
grazie x le info.
Mò provo poi ti dico se mi funziona.
Ciao

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 20:01
Venerdì, 31/08/2007
purtroppo quando compila il programma mi da errore
al pezzo in cui dici(nel command1_click):
Winsock1.remoteip = ""

mi evidenzia remoteip.
qualcuno mi può aiutare???

Ultima modifica effettuata da GrG il 31/08/2007 alle 20:02
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 20:49
Venerdì, 31/08/2007
..perchè devi mettercelo un indrizzo tra quelle virgolette8-|8-|8-|

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 21:50
Venerdì, 31/08/2007
è quello che ho fatto, ma nn mi funziona.

PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 10:28
Sabato, 01/09/2007
ehy scusa ho sbagliato io
quello che devi scrivere è:
Codice sorgente - presumibilmente Plain Text

  1. Winsock1.RemoteHostIP ="scriviipserver"


Scusa pensavo di ricordarmi bene ieri invece ho sbagliato.
Comunque puoi anche scrivere cosi
Codice sorgente - presumibilmente Plain Text

  1. Winsock1.Connect "ipdeleserver", numeroporta


Con questo ultimo codice puo eliminare winsock1.port e winsock1.remoteip puoi scegliere tra questi due modi.
Ciao.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 12:41
Domenica, 02/09/2007
:d
non mi funziona,
mi da ancora errore.
e mi evidenzia il pezzo in cui dici:

Winsock1.Connect "ipdeleserver", numeroporta

io però non ho capito molto bene sul che cosa devo inserire fra le virgolette "ipdeleserver"
me lo puoi spiegare???

e

se utilizzo l'altro sistema è la stessa cosa mi da sempre errore evidenziandomi remotehostip.

Vorrei anche sapere dove devo inserire:

Winsock1.SendData Text1.Text

(anche se già credo di saperlo)

Ultima modifica effettuata da GrG il 02/09/2007 alle 13:04
PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 12:14
Mercoledì, 05/09/2007
Scusa il ritardo,
Per connetterti all'applicazione server devi scrivere questo codice in un bottone oppure dove vuoi...
Codice sorgente - presumibilmente Plain Text

  1. Winsock1.Connect "ipdelpcserver", numporta


Allora ipdelpcserver è l'ip del computer dove si trova la tua apllicazione server.
Mentre numporta è il numero della porta dove i due programmi si comunicano.
Ti faccio un esempio allora come devi scrivere.
Codice sorgente - presumibilmente Plain Text

  1. Winsock1.Connect "192.168.x.x", 1001


Però tu non devi scrivere 192.168.x.x devi mettere semplicemente l'ip del pc dove si trova l'altra applicazione, mentre 1001 è la porta, tu puoi lasciare questa 1001.
Invece Winsock1.SendData data lo devi mettere in un bottone e data deve contenere il valore della textbox dove tu metti il messaggio da inviare.
Per esempio se la textbox dove scrivi il messaggio si chiama text1 e il bottone Invia invia all'altra applicazione il messaggio:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Invia_Click()
  2. 'nel bottone invia
  3. Winsock1:SendData text1.text
  4. End Sub


Nell'altra applicazione nell'evento DataArrival
scrivi:

Winsock1.GetData data
data è una variabile stringa.

I dati che ti arrivano li gestisci nell'evento DataArrival del winsock.
Non so se sono stato chiaro. Spero di si.

Ultima modifica effettuata da LuigiBiasi il 05/09/2007 alle 12:19
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo