Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
[VB.NET]Problema invio messaggi TCP/IP
giovedì 25 ottobre 2012 - 20.23
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
giorgiom84
Profilo
| Newbie
1
messaggi | Data Invio:
gio 25 ott 2012 - 20:23
Salve a tutti, ho il seguente problema:
devo creare un programmino, client, che tramite tcp/ip deve scambiare stringhe di testo, con un' altra applicazione già predisposta. In particolare questa applicazione è un programma di trading che apre un Socket TCP/IP in ascolto sulla porta 10001 e attende i messaggi provenienti dal client.
Ora, per quanto riguarda la ricezione dei dati non ho problemi, ma quando provo ad inviare messaggi all' applicazione non ottengo nessun responso e non so come risolvere, stò uscendo pazzo.
Il codice che ho scritto finora è il seguente:
Imports System.Net.Sockets 'Libreria per gestire i sockets
Imports System.Text.UTF8Encoding 'Libreria per decodificare in UTF8
Imports System.Text
Public Class Form1
Dim cliente As New TcpClient 'Variabile client
Dim flusso As NetworkStream 'Variabile flusso di dati client-server
Dim encoding As New System.Text.UTF8Encoding()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
cliente.Connect("127.0.0.1", 10001) 'Connetti cliente all'indirizzo 127.0.0.1 attraverso la porta 10001
If cliente.Connected Then 'Se cliente è connesso allora... (cioè se il server è in ascolto)
TextBox3.Text = TextBox3.Text & "Connesso!" & vbCrLf 'Scrivo in TextBox3
flusso = cliente.GetStream() 'flusso è l’invio/ricezione (Stream) di dati con il server al quale cliente è connesso
Timer1.Start() 'Avvio Timer1
Else 'Altrimenti...
TextBox3.Text = TextBox3.Text & "Il server non risponde!" & vbCrLf 'Scrivo in TextBox3
End If 'Fine se
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If cliente.Available > 0 Then 'Se i dati che ricevi dal server al quale è connesso cliente sono disponibili e sono maggiori di 0
Dim temp(cliente.Available - 1) As Byte 'Dichiaro un array con dimensioni uguali al numero di dati ricevuti da cliente meno 1
flusso.Read(temp, 0, temp.Length) 'Leggo il flusso di dati
Dim testo As String = UTF8.GetString(temp) 'Decodifica temp in stringa UTF8 e mettila in testo
TextBox3.Text = "Server: " & testo 'Scrivo nella TextBox3
End If 'Fine se
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox3.Text = "Client: " & TextBox2.Text & vbCrLf 'Scrivo nella TextBox3
Dim temp() As Byte = System.Text.Encoding.ASCII.GetBytes(TextBox2.Text) 'Decodifica la stringa in TextBox2 in bytes e metti ogni byte nell'array temp
flusso.Write(temp, 0, temp.Length) 'Scrivi il flusso di dati
flusso.Flush()
End Sub
End Class
Il problema è nella parte di codice eseguita alla pressione del tasto button2, l' applicazione dovrebbe ricevere il valore della textbox2.text e restituire determinate informazioni in risposta che però non arrivano mai... .... se qualcuno è in grado di aiutarmi glie ne sarei infinitamente riconoscente,
grazie.
pieroalampi
Profilo
| Expert
816
messaggi | Data Invio:
mar 6 nov 2012 - 09:55
il servizio di messag. è su???
SE RITIENI CHE LA RISPOSTA SIA RISOLUTIVA CHIUDI IL POST CLICCANDO SU ACCETTA
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
Torna su
Stanze Forum
Elenco Threads
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 !