الســــلام عليكم ورحمة الله وبركاته
أنا عملت برنامج شات جماعي طبعاً يقوم بإرسال التكست إلى كل الأجهزة وأستخدمت بروتوكول UDP وأستخدمت في الأرسال طريقة Broacast إي أني أرسل
لكل الأجهزة , البرنامج يعمل بشكل سليم ولكن هناك مشكلة واحدة هي أن النصوص العربية تظهر على شكلة علامات أستفهام ؟؟؟؟؟؟؟؟؟؟ أي أن النص لا يظهر بالعربي
، أما النصوص التي باللغة الإنجليزية لا مشكلة فيها فهي تظهر بدون أي مشاكل .
هذا الكود يا ليت أحد يساعدني
Dim Port As Integer = 2323 Dim ipEntry As IPHostEntry = Dns.GetHostByName(Environment.MachineName) Dim IpAddr As IPAddress() = ipEntry.AddressList Dim HostName As String = Dns.GetHostName
#Region " StartListener "
Sub StartListener()
listener = New UdpClient(Port)
Dim groupEP As New IPEndPoint(IPAddress.Any, 0)
Try
While Not done
Dim bytes As Byte() = listener.Receive(groupEP)
Dim str As String = Encoding.ASCII.GetString(bytes, 0, bytes.Length)
Dim i As Integer
For i = 0 To ListBox1.Items.Count
If str.StartsWith("L") Then
If ListBox1.Items.Contains(str.Remove(0, 1)) Then
ListBox1.Items.Remove(str.Remove(0, 1))
End If
ElseIf str.StartsWith("C") Then
If Not ListBox1.Items.Contains(str.Remove(0, 1)) Then
ListBox1.Items.Add(str.Remove(0, 1))
End If
Else
RichTextBox1.Text = str
End If
Next i
End While
Catch e As Exception
End Try
End Sub
#End Region
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Send My Messag
Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
Dim broadcast As IPAddress = IPAddress.Parse("192.168.2.255")
'
Dim IEP As New IPEndPoint(broadcast, Port)
Dim sendbuf As Byte() = Encoding.ASCII.GetBytes(HostName + ": " + RichTextBox2.Text)
s.SendTo(sendbuf, IEP)
RichTextBox1.Focus()
RichTextBox1.SelectAll()
RichTextBox2.Focus()
End Sub