یه برنامه برای ارسال یک متن به روش UDP هستش که در این برنامه کنترولهای زیر وجود دارد :
1) یک عدد کنترول دکمه به نام Button1
2) سه عدد کنترول TextBox به نامهای txtbHost (برای دریافت IP گیرنده) و TextBox1 (متن ارسالی) و TextBox2 (برای دریافت متن ارسال شده)
3) یک عدد کنترول ListBox به نام lbConnections جهت نمایش آدرس IP فرستنده پیام
تمام موارد فوق در یک فرم قرار دارد ( در اصل فرستنده و گیرنده در یک فرم قرار دارند).
سورس برنامه :
Imports System.Threading
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim thdUDPServer = New Thread(New ThreadStart(AddressOf serverThread))
thdUDPServer.Start()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim udpClient As New UdpClient()
udpClient.Connect(txtbHost.Text, 8080)
Dim senddata As Byte()
senddata = Encoding.ASCII.GetBytes(TextBox1.Text)
udpClient.Send(senddata, senddata.Length)
End Sub
Public Sub serverThread()
Dim udpClient As New UdpClient(8080)
While True
Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)
Dim receiveBytes As Byte()
receiveBytes = udpClient.Receive(RemoteIpEndPoint)
Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
TextBox2.Text = returnData
lbConnections.Items.Add(RemoteIpEndPoint.Address.ToString() + : + returnData.ToString())
End While
End Sub
End Class
حالا مشکل من این جاست :
Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
TextBox2.Text = returnData
متغیر تعریف شده returnData از نوع رشته هست و متن ارسال شده هم در آن قرار گرفته است حالا نمی تواند آن متن را در TextBox2.Text قرار دهد؟
ونیز مقدار رشته ای موجود در RemoteIpEndPoint.Address.ToString() را نمی تواند در یک ListBox قرار دهد؟
علت چیست؟
باتشکر