c#利用組播實現**功能
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
//新增的命名空間引用
using system.net;
using system.net.sockets;
using system.threading;
namespace netmeetingexample
; private delegate void setlistboxitemcallback(
listbox listbox, string text, listboxoperation operation);
setlistboxitemcallback listboxcallback;
//使用的ip位址
private ipaddress brodercastip = ipaddress.parse("224.100.0.1");
//使用的接收埠號
private int port = 8001;
private udpclient udpclient;
public formmeeting()
private void setlistboxitem(listbox listbox, string text, listboxoperation operation)
else
}else
listbox.selectedindex = listbox.items.count - 1;
listbox.clearselected();
}else if (operation == listboxoperation.removeitem)}}
private void formmeeting_load(object sender, eventargs e)
//單擊進入會議室按鈕觸發的事件
private void buttonlogin_click(object sender, eventargs e)
/// /// 接收執行緒
///
private void receivemessage()
]進入。", remote.address), listboxoperation.additem);
setlistboxitem(listboxaddress,
remote.address.tostring(), listboxoperation.additem);
string userliststring = "list," + remote.address.tostring();
for (int i = 0; i < listboxaddress.items.count; i++)
sendmessage(remote.address, userliststring);
break;
case "list": //參加會議人員名單
for (int i = 1; i < splitstring.length; i++)
break;
case "message": //發言內容
setlistboxitem(listboxmessage,
string.format("說:", remote.address, str.substring(8)),
listboxoperation.additem);
break;
case "logout": //退出會議室
setlistboxitem(listboxmessage,
string.format("退出。", remote.address),
listboxoperation.additem);
setlistboxitem(listboxaddress,
remote.address.tostring(), listboxoperation.removeitem);
break;}}
catch}}
//響應回車鍵傳送訊息
private void textboxmessage_keypress(object sender, keypresseventargs e)}}
private void sendmessage(ipaddress ip, string sendstring)
catch (exception err)
finally
}//單擊退出會議室按鈕觸發的事件
private void buttonlogout_click(object sender, eventargs e)
//窗體已關閉並指定關閉原因前觸發的事件
private void form1_formclosing(object sender, formclosingeventargs e)}}
}
介面設計:
C 實現任意源組播與特定源組播
ip組播通訊需要乙個特殊的組播位址,ip組播位址是一組d類ip位址,範圍從224.0.0.0 到 239.255.255.255。其中還有很多位址是為特殊的目的保留的。224.0.0.0到224.0.0.255的位址最好不要用,因為他們大多是為了特殊的目的保持的 比如igmp協議 igmp是ip組播...
網路筆記 組播分發
形式 備註 s,g 通常用來表示最短路徑樹,或者由組播源s發往組播組g的組播報文。s 代表特定組播源,g 代表特定組播組g g 通常用來表示共享樹,或者由任意組播源發往組播組g的組播報文。代表任意組播源,g 代表特定組播組g shortest path tree,最短路徑樹,也稱為 source t...
udp組播通訊實現 c
前幾天需要做乙個和第三方平台配套的單向通訊,反向隔離的通訊介面,原本確定是採用udp組播方式實現,通訊裝置中間加正向網路隔離裝置防止反通訊。我想著趕緊先行測試驗證一下,哪知我好不容易花了乙個下午編譯測試後,對接的廠家卻反饋說不再使用udp通訊,他們要用http方式,並不考慮兩個系統通訊隔離問題。我只...