Aiuto

domenica 18 luglio 2010 - 23.47
Tag Elenco Tags  VB.NET  |  Visual Studio 2008  |  Visual Studio 2005

Marcuus Profilo | Newbie

vorrei creare 1 programma che scivendo in 1 textbox un indirizzo IP(specifico) attraverso a un winsock mi colleghi a allo stesso programma ma su un altro computer e mandi ciò che scrivo in una seconda textbox e possibile? vorrei trasmettere il testo della seconda textbox all'altro computer non solo con la rete locale ma anche via internet...grazie

luigidibiasi Profilo | Guru

>vorrei creare 1 programma che scivendo in 1 textbox un indirizzo
>IP(specifico) attraverso a un winsock mi colleghi a allo stesso
>programma ma su un altro computer e mandi ciò che scrivo in una
>seconda textbox e possibile?

Certo, hai anche scritto la soluzione ...devi usare winsock oppure il framework system.net.sockets se utilizzi .net framework. (Sul programma che riceve devi utilizzare un socket di ascolto, praticamente utilizzare il metodo Listen)

>vorrei trasmettere il testo della
>seconda textbox all'altro computer non solo con la rete locale
>ma anche via internet...grazie

L'utilizzo dell'IP non è legato alla rete locale. Se nella rete è presente un router che ti fornisce l'accesso a internet la connessione remota avviene in automatico dopo aver inserito l'IP del pc remoto.

esempio:
http://www.eggheadcafe.com/articles/20020323.asp

(da guardare solo la comunicazione)
http://www.winsocketdotnetworkprogramming.com/clientserversocketnetworkcommunication8c.html

Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

Marcuus Profilo | Newbie

crazie mille complimenti per la spiegazione sei stato di grande aiuto!!!
ancora una cosa come faccio a inviare la seconda textbox (scusa ma nn sono molto bravo)
ecco ho seguito i tuoi consigli questo è il codice che ho adattato al mio programma

Public Class Form1
Public n
Public g

Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Opacity = 0
End Sub

Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click
Me.Opacity = 100
End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
AxWinsock1.LocalPort = 8006
AxWinsock1.Listen()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

AxWinsock1.RemoteHost = TextBox1.Text
AxWinsock1.RemotePort = TextBox4.Text
AxWinsock1.Connect()

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
TextBox2.Text = n
AxWinsock1.SendData(n)
End Sub

Private Sub AxWinsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles AxWinsock1.DataArrival

AxWinsock1.GetData(g)

TextBox3.Text = g
End Sub
End Class

il problema e che quando premo il tasto send (button4) va in errore e mi dice Eccezione da HRESULT: 0x800A9C46 come faccio???

luigidibiasi Profilo | Guru

>crazie mille complimenti per la spiegazione sei stato di grande
>aiuto!!!
>ancora una cosa come faccio a inviare la seconda textbox (scusa
>ma nn sono molto bravo)

Una volta che hai stabilito la connessione tra client e server devi usare i metodi dei socket ( send e receive se non sbaglio ). Non ho ben capito se stai tentando di implementare una chat o qualcosa di simile però...

Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

Marcuus Profilo | Newbie

e l'errore come lo risolvo???

luigidibiasi Profilo | Guru

mmm

credo sia meglio che tu legga su MSDN come usare i socket perché così sul forum è un po difficile capire da dove iniziare (anche perché nel caso tuo ti conviene usare UDP invece che TCP quindi semplifichi ancora di più....)


in linea di massima dovresti fare così:

sul server:
- usi LISTEN per specificare la porta dove ascoltare
- avvii un thread di lettura dati dal flusso e aspetti che arrivino i dati

sul client
- usi la CONNECt per connetterti al server
- avvii un thread per la lettura dei dati
- usi la send per inviare i dati

vedi qua se ti può servire...
http://www.vbdotnetforums.com/net-sockets/12469-simple-chatbox-problem.html

se non riesci ad adattare domani possiamo vedere di farlo con udp...

Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

Marcuus Profilo | Newbie

grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5