slt tout le monde,
je viens de devellopper une interface qui permets de comuniquer avec un pc distant via le reseau. En effet, au niveau de l'interface il y a une texte box dans laquelle on entre du texte et lorsque l'on clique sur envoi le message saisit apparait sur l'ecran hyperterminal de l'autre pc, ceci se fait via les fonctions sockets. Mon probleme est le suivant j'ai rajouté sur mon interface une deuxieme texte box dans laquelle j'aimerais recevoir des données dans le sens inverse , c'est à dire que lorsque je saisit de caractere au clavier de l'autre pc depuis hyperterminal j'aimerais que l'interface me les affiche dans la textebox n¨°2.
a l'heure d'aujourd'hui je n'arrive a recevoir qu'un seul cractere donc j'aimerais savoir ce que je pourrait faire pour pouvoir en recevoir plus voici mon code :
Imports System.Net.Sockets
Imports System.Threading
Imports System.IO
Imports System.Text
Public Class Form1
Dim ecouteur As New TcpListener(port)
Dim client As New TcpClient
Dim Message As String = ""
Dim adressip As String
Dim port As Integer
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Try
If Button5.Enabled = True Then
Try
adressip = TextBox2.Text
port = TextBox3.Text
client = New TcpClient(adressip, port)
Dim ecouteur As New TcpListener(port)
Catch ex As InvalidCastException
MessageBox.Show(ex.Message, "Erreur")
MessageBox.Show(" Veuillez spécifier la destination. ", "Erreur")
End Try
End If
Catch Ex As SocketException
MessageBox.Show(Ex.Message, "Erreur")
MessageBox.Show("Verifiez l'état de votre connexion", "Erreur")
End Try
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
ecouteur.Stop()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ListThread As New Thread(New ThreadStart(AddressOf Listening))
ListThread.Start()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
End
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If Button4.Enabled = True Then
GroupBox1.Visible = True
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Button1.Enabled = True Then
Try
Dim Writer As New StreamWriter(client.GetStream())
Writer.Write(TextBox1.Text)
Try
Writer.Flush()
Catch ex As IOException
MessageBox.Show(ex.Message, "Erreur")
MessageBox.Show("Veuillez recommencez.", "Erreur")
End Try
Catch ex As InvalidOperationException
MessageBox.Show(ex.Message, "Erreur")
MessageBox.Show("Veuillez vous connecter au client.", "Erreur")
End Try
End If
End Sub
Private Sub Listening()
ecouteur.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ecouteur.Pending = True Then
Message = ""
client = ecouteur.AcceptTcpClient()
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Button2.Enabled = True Then
client.Close()
End If
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
If Button6.Enabled = True Then
Try
Dim Reader As New StreamReader(client.GetStream)
While Reader.Peek > 100
TextBox4.Text = Message + Convert.ToChar(Reader.Read()).ToString
End While
Catch ex As InvalidOperationException
MessageBox.Show(ex.Message, "Erreur")
MessageBox.Show("Veuillez vous connecter au client.", "Erreur")
End Try
End If
End Sub
End Class