Salve,
ho scritto un software prendendo spunto dalla guida di TOTEM nel capitolo SOCKETS.
Faccio partire il Server su un Computer ed il Client sull'altro..
Invio Il Messaggio ma è come se "Si perdesse", non arriva nulla.
Dopo un paio d'ore ami sono rivolto a voi. Vi posto il Codice
Il Client
Ed il Servercodice:Private Sub tmrGetData_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrGetData.Tick If client.Connected Then If client.Available > 0 Then Dim bytes(client.ReceiveBufferSize) As Byte netstr.Read(bytes, 0, client.ReceiveBufferSize) s = System.Text.ASCIIEncoding.ASCII.GetString(bytes) 'If s = "calldan" Then ' frmled.tmrled.Start() ' else ' msgbox(s) 'End If End If End If End Sub Sub collega() client.Connect("127.0.0.1", 25) If client.Connected Then netstr = client.GetStream MsgBox("CONNESSO") MsgBox(client.Available) Else MsgBox("NON CONNESSO") End If End Sub
Grazie Ancora per le eventuali risposte, spero ci siano degli errori e non sia il router a bloccare tutto (io comunque in entrambi i casi ho sbloccato il processo vshost.exe)codice:Imports System.Net.Sockets Public Class frmmain Public listener As New TcpListener(25) Public client As New TcpClient Public netstr As NetworkStream Private Sub frmmain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load listener.Start() End Sub Private Sub tmrControlConnection_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrControlConnection.Tick If listener.Pending Then client = listener.AcceptTcpClient netstr = client.GetStream tmrControlConnection.Stop() listener.Stop() tmrGetData.Start() End If End Sub Private Sub tmrGetData_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrGetData.Tick If client.Connected Then If client.Available > 0 Then Dim bytes(client.ReceiveBufferSize) As Byte netstr.Read(bytes, 0, client.ReceiveBufferSize) Dim s As String = System.Text.ASCIIEncoding.ASCII.GetString(bytes) End If End If End Sub Private Sub ESCIToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnesci.Click chiusura() End Sub Sub chiusura() Me.Dispose() End Sub Sub messaggio(ByVal msg As String) If client.Connected Then If netstr.CanWrite Then Try Dim bytes() As Byte = System.Text.ASCIIEncoding.ASCII.GetBytes(msg) netstr.Write(bytes, 0, bytes.Length) frmok.lblok.Text = "RICHIESTA INVIATA CORRETTAMENTE" ListBox1.Items.Add(System.Text.ASCIIEncoding.ASCII.GetString(bytes)) frmok.Show() Catch ex As Exception frmerrore.lblerrore.Text = "ERRORE: " + ex.ToString frmerrore.Show() End Try End If End If End Sub Private Sub mntrilla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mntrilla.Click messaggio("calldan") End Sub Public msgsend As String Private Sub mnmsg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnmsg.Click If frmmsg.ShowDialog = Windows.Forms.DialogResult.OK Then messaggio(msgsend) End If End Sub

mi sono rivolto a voi. Vi posto il Codice
Rispondi quotando