03-10-12, 01:59 AM
كاتب الموضوع : حسين احمد طالب
كيف تصمم غرف المحادثة .عندما نصمم غرف المحادثة كل غرفة من غرف المحادثة نسميها بأسم معين ونعطيها عنوان معين ضمن نطاق Class D للعنونة كل شخص يريد ان يدخل غرفة يعمل انضمام لعنوان هذه الغرفة حتى يتحدث مع كل موجود داخل الغرفة.اذن في برمجة غرف المحادثة كل شخص يدخل غرفة محادثة يعمل انضمام الى المجموعة الموجودة في الغرفة على عنوان الغرفة حتى يرسل ويستلم من المجموعة وهذا ما يحدث بظبط في غرف المحادثة واكيد يتم تحديد لكل غرفة عنوان معين من قبل الشركة الخاصة ببرنامج المحادثة .وبذالك يستطيع محادثة كل المتواجدين داخل الغرفة لنصمم مشروع جديد كما في الشكل
نريد عند الضغط على اسم مجموعة يعرف عنوانها داخل tbMulticastGroup لذالك تخزن عناوين كل غرفة وعندما نختار غرفة يظهر عنوانها وداخل حدث ListBox1_SelectedIndexChanged نكتب الكود التالي
VB.NET CODE
كود :
[color=#000000][COLOR=#007700]Private [/color][color=#0000bb]Sub ListBox1_SelectedIndexChanged[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]EventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles ListBox1[/color][color=#007700].[/color][COLOR=#0000bb]SelectedIndexChanged
[/COLOR][COLOR=#007700]Try
If [/COLOR][color=#0000bb]jionbt[/color][color=#007700].[/color][color=#0000bb]Enabled [/color][color=#007700]= [/color][COLOR=#0000bb]True Then
Select [/COLOR][color=#007700]Case [/color][color=#0000bb]Trim[/color][color=#007700]([/color][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]SelectedItem[/color][COLOR=#007700])
Case [/COLOR][COLOR=#dd0000]"كروب الشياب"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.6 "
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب الشباب"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.8"
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب المقاعدين"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.9"
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب ورد"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.10"
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب طلاب"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.11 "
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب مبرمجين"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]" 224.5.4.12"
[/COLOR][COLOR=#0000bb]End Select
ljionto[/COLOR][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]ListBox1[/color][color=#007700].[/color][COLOR=#0000bb]SelectedItem
End [/COLOR][COLOR=#007700]If
Catch [/COLOR][color=#0000bb]ex [/color][color=#007700]As [/color][COLOR=#0000bb]Exception
End [/COLOR][COLOR=#007700]Try
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][/COLOR]الأن بعد ان حصلنا على عنوان الغرفة ومنفذها نريد ان ننضم اليها داخل Button انضمام لمجموعة jionbt نعمل تشغيل لدالة التنصت والأنضمام الى مجموعة نكتب الكود التالي
VB.NET CODE
كود :
[color=#000000][COLOR=#0000bb] myth1 [/color][color=#007700]= New [/color][color=#0000bb]Thread[/color][color=#007700](New [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Threading[/color][color=#007700].[/color][color=#0000bb]ThreadStart[/color][color=#007700]([/color][color=#0000bb]AddressOf JionToGropMulticast[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]myth1[/color][color=#007700].[/color][color=#0000bb]Start[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]jionbt[/color][color=#007700].[/color][color=#0000bb]Enabled [/color][color=#007700]= [/color][COLOR=#0000bb]False
[/COLOR][/COLOR]JionToGropMulticast هي الدالة التي ننضم بها الى المجموعة ويكون كودها
VB.NET CODE
كود :
[color=#000000][COLOR=#0000bb]Dim client [/color][color=#007700]As [/color][COLOR=#0000bb]UdpClient
Dim myth1 [/COLOR][color=#007700]As [/color][COLOR=#0000bb]Thread
Sub JionToGropMulticast[/COLOR][COLOR=#007700]()
[/COLOR][color=#0000bb]Dim port [/color][color=#007700]As [/color][color=#0000bb]Integer [/color][color=#007700]= [/color][color=#0000bb]Val[/color][color=#007700]([/color][color=#0000bb]tbPort[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])
[/COLOR][color=#0000bb]client [/color][color=#007700]= New [/color][color=#0000bb]UdpClient[/color][color=#007700]([/color][color=#0000bb]port[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim group [/color][color=#007700]As [/color][color=#0000bb]IPAddress [/color][color=#007700]= [/color][color=#0000bb]IPAddress[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])
[/COLOR][color=#0000bb]client[/color][color=#007700].[/color][color=#0000bb]JoinMulticastGroup[/color][color=#007700]([/color][color=#0000bb]group[/color][color=#007700], [/color][color=#0000bb]255[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim remoteEP [/color][color=#007700]As [/color][color=#0000bb]IPEndPoint [/color][color=#007700]= New [/color][color=#0000bb]IPEndPoint[/color][color=#007700]([/color][color=#0000bb]group[/color][color=#007700], [/color][color=#0000bb]port[/color][COLOR=#007700])
Do
[/COLOR][color=#0000bb]Dim ep [/color][color=#007700]As [/color][color=#0000bb]IPEndPoint [/color][color=#007700]= [/color][COLOR=#0000bb]Nothing
Dim buffer[/COLOR][color=#007700]() As [/color][color=#0000bb]Byte [/color][color=#007700]= [/color][color=#0000bb]client[/color][color=#007700].[/color][color=#0000bb]Receive[/color][color=#007700]([/color][color=#0000bb]ep[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim message [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Text[/color][color=#007700].[/color][color=#0000bb]Encoding[/color][color=#007700].[/color][color=#0000bb]UTF8[/color][color=#007700].[/color][color=#0000bb]GetString[/color][color=#007700]([/color][color=#0000bb]buffer[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]tbMessage[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]+= [/color][color=#0000bb]message [/color][color=#007700]+ [/color][COLOR=#0000bb]vbCrLf
Loop
End Sub
[/COLOR][/COLOR]بعد ان انضمينا الى المجموعة في Button للأرسال الى المجموعة send_button نستدعي دالة الأرسال لمجموعة sendTOGrop ونرسل لها عنوان المجموعة ورقم بورت التنصت للمجموعة والرسالة
VB.NET CODE
كود :
[color=#000000][COLOR=#0000bb] sendTOGrop[/color][color=#007700]([/color][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text[/color][color=#007700], [/color][color=#0000bb]Integer[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]tbPort[/color][color=#007700].[/color][color=#0000bb]Text[/color][color=#007700]), [/color][color=#0000bb]Encoding[/color][color=#007700].[/color][color=#0000bb]UTF8[/color][color=#007700].[/color][color=#0000bb]GetBytes[/color][color=#007700]([/color][color=#0000bb]tbname[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]& [/color][color=#dd0000]":" [/color][color=#007700]& [/color][color=#0000bb]tbMessagesend[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700]))
[/COLOR][/COLOR]دالة sendTOGrop يكون كودها
VB.NET CODE
كود :
[color=#000000][COLOR=#007700]Public [/color][color=#0000bb]Sub sendTOGrop[/color][color=#007700]([/color][color=#0000bb]ByVal mcastGroup [/color][color=#007700]As [/color][color=#0000bb]String[/color][color=#007700], [/color][color=#0000bb]ByVal port [/color][color=#007700]As [/color][color=#0000bb]Integer[/color][color=#007700], [/color][color=#0000bb]ByVal messageByte [/color][color=#007700]As [/color][color=#0000bb]Byte[/color][COLOR=#007700]())
[/COLOR][color=#0000bb]Dim ip [/color][color=#007700]As [/color][color=#0000bb]IPAddress [/color][color=#007700]= [/color][color=#0000bb]IPAddress[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]mcastGroup[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim s [/color][color=#007700]As [/color][color=#0000bb]Socket [/color][color=#007700]= New [/color][color=#0000bb]Socket[/color][color=#007700]([/color][color=#0000bb]AddressFamily[/color][color=#007700].[/color][color=#0000bb]InterNetwork[/color][color=#007700], [/color][color=#0000bb]SocketType[/color][color=#007700].[/color][color=#0000bb]Dgram[/color][color=#007700], [/color][color=#0000bb]ProtocolType[/color][color=#007700].[/color][color=#0000bb]Udp[/color][COLOR=#007700])
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]SetSocketOption[/color][color=#007700]([/color][color=#0000bb]SocketOptionLevel[/color][color=#007700].[/color][color=#0000bb]IP[/color][color=#007700], [/color][color=#0000bb]SocketOptionName[/color][color=#007700].[/color][color=#0000bb]AddMembership[/color][color=#007700], New [/color][color=#0000bb]MulticastOption[/color][color=#007700]([/color][color=#0000bb]ip[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]SetSocketOption[/color][color=#007700]([/color][color=#0000bb]SocketOptionLevel[/color][color=#007700].[/color][color=#0000bb]IP[/color][color=#007700], [/color][color=#0000bb]SocketOptionName[/color][color=#007700].[/color][color=#0000bb]MulticastTimeToLive[/color][color=#007700], [/color][color=#0000bb]255[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim ipep [/color][color=#007700]As [/color][color=#0000bb]IPEndPoint [/color][color=#007700]= New [/color][color=#0000bb]IPEndPoint[/color][color=#007700]([/color][color=#0000bb]IPAddress[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]mcastGroup[/color][color=#007700]), [/color][color=#0000bb]port[/color][COLOR=#007700])
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]Connect[/color][color=#007700]([/color][color=#0000bb]ipep[/color][COLOR=#007700])
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]Send[/color][color=#007700]([/color][color=#0000bb]messageByte[/color][color=#007700], [/color][color=#0000bb]messageByte[/color][color=#007700].[/color][color=#0000bb]Length[/color][color=#007700], [/color][color=#0000bb]SocketFlags[/color][color=#007700].[/color][color=#0000bb]None[/color][COLOR=#007700])
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]Close[/color][COLOR=#007700]()
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][/COLOR]ويكون كود البرنامج كامل
VB.NET CODE
كود :
[color=#000000][COLOR=#0000bb]Imports System[/color][color=#007700].[/color][COLOR=#0000bb]Net
Imports System[/COLOR][color=#007700].[/color][color=#0000bb]Net[/color][color=#007700].[/color][COLOR=#0000bb]Sockets
Imports System[/COLOR][color=#007700].[/color][COLOR=#0000bb]Text
Imports System[/COLOR][color=#007700].[/color][COLOR=#0000bb]IO
Imports System[/COLOR][color=#007700].[/color][COLOR=#0000bb]Threading
[/COLOR][color=#007700]Public Class [/color][COLOR=#0000bb]send_message
Dim client [/COLOR][color=#007700]As [/color][COLOR=#0000bb]UdpClient
Dim myth1 [/COLOR][color=#007700]As [/color][COLOR=#0000bb]Thread
Sub JionToGropMulticast[/COLOR][COLOR=#007700]()
[/COLOR][color=#0000bb]Dim port [/color][color=#007700]As [/color][color=#0000bb]Integer [/color][color=#007700]= [/color][color=#0000bb]Val[/color][color=#007700]([/color][color=#0000bb]tbPort[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])
[/COLOR][color=#0000bb]client [/color][color=#007700]= New [/color][color=#0000bb]UdpClient[/color][color=#007700]([/color][color=#0000bb]port[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim group [/color][color=#007700]As [/color][color=#0000bb]IPAddress [/color][color=#007700]= [/color][color=#0000bb]IPAddress[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])
[/COLOR][color=#0000bb]client[/color][color=#007700].[/color][color=#0000bb]JoinMulticastGroup[/color][color=#007700]([/color][color=#0000bb]group[/color][color=#007700], [/color][color=#0000bb]255[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim remoteEP [/color][color=#007700]As [/color][color=#0000bb]IPEndPoint [/color][color=#007700]= New [/color][color=#0000bb]IPEndPoint[/color][color=#007700]([/color][color=#0000bb]group[/color][color=#007700], [/color][color=#0000bb]port[/color][COLOR=#007700])
Do
[/COLOR][color=#0000bb]Dim ep [/color][color=#007700]As [/color][color=#0000bb]IPEndPoint [/color][color=#007700]= [/color][COLOR=#0000bb]Nothing
Dim buffer[/COLOR][color=#007700]() As [/color][color=#0000bb]Byte [/color][color=#007700]= [/color][color=#0000bb]client[/color][color=#007700].[/color][color=#0000bb]Receive[/color][color=#007700]([/color][color=#0000bb]ep[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim message [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Text[/color][color=#007700].[/color][color=#0000bb]Encoding[/color][color=#007700].[/color][color=#0000bb]UTF8[/color][color=#007700].[/color][color=#0000bb]GetString[/color][color=#007700]([/color][color=#0000bb]buffer[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]tbMessage[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]+= [/color][color=#0000bb]message [/color][color=#007700]+ [/color][COLOR=#0000bb]vbCrLf
Loop
End Sub
[/COLOR][color=#007700]Public [/color][color=#0000bb]Sub sendTOGrop[/color][color=#007700]([/color][color=#0000bb]ByVal mcastGroup [/color][color=#007700]As [/color][color=#0000bb]String[/color][color=#007700], [/color][color=#0000bb]ByVal port [/color][color=#007700]As [/color][color=#0000bb]Integer[/color][color=#007700], [/color][color=#0000bb]ByVal messageByte [/color][color=#007700]As [/color][color=#0000bb]Byte[/color][COLOR=#007700]())
[/COLOR][color=#0000bb]Dim ip [/color][color=#007700]As [/color][color=#0000bb]IPAddress [/color][color=#007700]= [/color][color=#0000bb]IPAddress[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]mcastGroup[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim s [/color][color=#007700]As [/color][color=#0000bb]Socket [/color][color=#007700]= New [/color][color=#0000bb]Socket[/color][color=#007700]([/color][color=#0000bb]AddressFamily[/color][color=#007700].[/color][color=#0000bb]InterNetwork[/color][color=#007700], [/color][color=#0000bb]SocketType[/color][color=#007700].[/color][color=#0000bb]Dgram[/color][color=#007700], [/color][color=#0000bb]ProtocolType[/color][color=#007700].[/color][color=#0000bb]Udp[/color][COLOR=#007700])
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]SetSocketOption[/color][color=#007700]([/color][color=#0000bb]SocketOptionLevel[/color][color=#007700].[/color][color=#0000bb]IP[/color][color=#007700], [/color][color=#0000bb]SocketOptionName[/color][color=#007700].[/color][color=#0000bb]AddMembership[/color][color=#007700], New [/color][color=#0000bb]MulticastOption[/color][color=#007700]([/color][color=#0000bb]ip[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]SetSocketOption[/color][color=#007700]([/color][color=#0000bb]SocketOptionLevel[/color][color=#007700].[/color][color=#0000bb]IP[/color][color=#007700], [/color][color=#0000bb]SocketOptionName[/color][color=#007700].[/color][color=#0000bb]MulticastTimeToLive[/color][color=#007700], [/color][color=#0000bb]255[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim ipep [/color][color=#007700]As [/color][color=#0000bb]IPEndPoint [/color][color=#007700]= New [/color][color=#0000bb]IPEndPoint[/color][color=#007700]([/color][color=#0000bb]IPAddress[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]mcastGroup[/color][color=#007700]), [/color][color=#0000bb]port[/color][COLOR=#007700])
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]Connect[/color][color=#007700]([/color][color=#0000bb]ipep[/color][COLOR=#007700])
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]Send[/color][color=#007700]([/color][color=#0000bb]messageByte[/color][color=#007700], [/color][color=#0000bb]messageByte[/color][color=#007700].[/color][color=#0000bb]Length[/color][color=#007700], [/color][color=#0000bb]SocketFlags[/color][color=#007700].[/color][color=#0000bb]None[/color][COLOR=#007700])
[/COLOR][color=#0000bb]s[/color][color=#007700].[/color][color=#0000bb]Close[/color][COLOR=#007700]()
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][color=#007700]Private [/color][color=#0000bb]Sub send_button_Click[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]EventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles send_button[/color][color=#007700].[/color][COLOR=#0000bb]Click
sendTOGrop[/COLOR][color=#007700]([/color][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text[/color][color=#007700], [/color][color=#0000bb]Integer[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]tbPort[/color][color=#007700].[/color][color=#0000bb]Text[/color][color=#007700]), [/color][color=#0000bb]Encoding[/color][color=#007700].[/color][color=#0000bb]UTF8[/color][color=#007700].[/color][color=#0000bb]GetBytes[/color][color=#007700]([/color][color=#0000bb]tbname[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]& [/color][color=#dd0000]":" [/color][color=#007700]& [/color][color=#0000bb]tbMessagesend[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700]))
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][color=#007700]Private [/color][color=#0000bb]Sub jionbt_Click[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]EventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles jionbt[/color][color=#007700].[/color][COLOR=#0000bb]Click
myth1 [/COLOR][color=#007700]= New [/color][color=#0000bb]Thread[/color][color=#007700](New [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Threading[/color][color=#007700].[/color][color=#0000bb]ThreadStart[/color][color=#007700]([/color][color=#0000bb]AddressOf JionToGropMulticast[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]myth1[/color][color=#007700].[/color][color=#0000bb]Start[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]jionbt[/color][color=#007700].[/color][color=#0000bb]Enabled [/color][color=#007700]= [/color][COLOR=#0000bb]False
End Sub
[/COLOR][color=#007700]Private [/color][color=#0000bb]Sub ListBox1_SelectedIndexChanged[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]EventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles ListBox1[/color][color=#007700].[/color][COLOR=#0000bb]SelectedIndexChanged
[/COLOR][COLOR=#007700]Try
If [/COLOR][color=#0000bb]jionbt[/color][color=#007700].[/color][color=#0000bb]Enabled [/color][color=#007700]= [/color][COLOR=#0000bb]True Then
Select [/COLOR][color=#007700]Case [/color][color=#0000bb]Trim[/color][color=#007700]([/color][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]SelectedItem[/color][COLOR=#007700])
Case [/COLOR][COLOR=#dd0000]"كروب الشياب"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.6 "
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب الشباب"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.8"
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب المقاعدين"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.9"
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب ورد"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.10"
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب طلاب"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]"224.5.4.11 "
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"كروب مبرمجين"
[/COLOR][color=#0000bb]tbMulticastGroup[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][COLOR=#dd0000]" 224.5.4.12"
[/COLOR][COLOR=#0000bb]End Select
ljionto[/COLOR][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]ListBox1[/color][color=#007700].[/color][COLOR=#0000bb]SelectedItem
End [/COLOR][COLOR=#007700]If
Catch [/COLOR][color=#0000bb]ex [/color][color=#007700]As [/color][COLOR=#0000bb]Exception
End [/COLOR][COLOR=#007700]Try
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][color=#007700]Private [/color][color=#0000bb]Sub send_message_FormClosing[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]FormClosingEventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles Me[/color][color=#007700].[/color][COLOR=#0000bb]FormClosing
[/COLOR][color=#007700]If [/color][color=#0000bb]jionbt[/color][color=#007700].[/color][color=#0000bb]Enabled [/color][color=#007700]= [/color][COLOR=#0000bb]False Then
[/COLOR][COLOR=#007700]Try
[/COLOR][COLOR=#dd0000]'Dim group As IPAddress = IPAddress.Parse(tbMulticastGroup.Text)
' [/COLOR][color=#0000bb]client[/color][color=#007700].[/color][color=#0000bb]DropMulticastGroup[/color][color=#007700]([/color][color=#0000bb]group[/color][color=#007700], [/color][color=#0000bb]255[/color][COLOR=#007700])
[/COLOR][color=#0000bb]client[/color][color=#007700].[/color][color=#0000bb]Close[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]myth1[/color][color=#007700].[/color][color=#0000bb]Abort[/color][COLOR=#007700]()
Catch [/COLOR][color=#0000bb]ex [/color][color=#007700]As [/color][COLOR=#0000bb]Exception
MsgBox[/COLOR][color=#007700]([/color][color=#0000bb]ex[/color][color=#007700].[/color][color=#0000bb]Message[/color][COLOR=#007700])
[/COLOR][color=#0000bb]End [/color][COLOR=#007700]Try
[/COLOR][color=#0000bb]End [/color][COLOR=#007700]If
[/COLOR][COLOR=#0000bb]End Sub
End [/COLOR][COLOR=#007700]Class
[/COLOR][/COLOR]برنامج بناء غرف محادثة للأجهزة المحمولة
كيف تصمم غرف المحادثة للأجهزة المحمولة.نفس الفكرة السابقة .عندما نصمم غرف المحادثة كل غرفة من غرف المحادثة نسميها بأسم معين ونعطيها عنوان معين ضمن نطاق Class D للعنونة كل شخص يريد ان يدخل غرفة يعمل انضمام لعنوان هذه الغرفة حتى يتحدث مع كل موجود داخل الغرفة.اذن في برمجة غرف المحادثة كل شخص يدخل غرفة محادثة يعمل انضمام الى المجموعة الموجودة في الغرفة على عنوان الغرفة حتى يرسل ويستلم من المجموعة وهذا ما يحدث بظبط في غرف المحادثة واكيد يتم تحديد لكل غرفة عنوان معين من قبل الشركة الخاصة ببرنامج المحادثة .وبذالك يستطيع محادثة كل المتواجدين داخل الغرفة
لنصمم مشروع Smart Device جديد كما في الشكل
نريد عند الضغط على اسم مجموعة يعرف عنوانها داخل tbMulticastGroup لذالك تخزن عناوين كل غرفة وعندما نختار غرفة يظهر عنوانها وداخل حدث ListBox1_SelectedIndexChanged
والكود نفس البرنامج السابق
-------------------------------------------------
قائمة كتبي
خطوة بخطوة نحو قاعدة بيانات ترضي العميل بالفجوال بيسك دوت نت
خطوة بخطوة لتعلم لغة سي وسي بلاس
بروتوكولات الشبكات TCP,UDP,IP وبناء التطبيقات بالبروتوكول الملائم فيجوال بيسك دوت نت