C#實現組播源及客戶端
組播源:
using System; using System.Net; using System.Net.Sockets; namespace multiCastSend { class send { send(string mcastGroup, string port, string ttl, string rep) { IPAddress ip; try { Console.WriteLine("MCAST Send on Group: {0} Port: {1} TTL: {2}",mcastGroup,port,ttl); ip=IPAddress.Parse(mcastGroup); Socket s=new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(ip)); s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, int.Parse(ttl)); byte[] b=new byte[10]; for(int x=0;x<b.Length;x++) b[x]=(byte)(x+65); IPEndPoint ipep=new IPEndPoint(IPAddress.Parse(mcastGroup),int.Parse(port)); Console.WriteLine("Connecting..."); s.Connect(ipep); for(int x=0;x<int.Parse(rep);x++) { Console.WriteLine("Sending ABCDEFGHIJ..."); s.Send(b,b.Length,SocketFlags.None); } Console.WriteLine("Closing Connection..."); s.Close(); } catch(System.Exception e) { Console.Error.WriteLine(e.Message); } } static void Main(string[] args) { new send("224.5.6.7", "5000", "1", "2"); } } }
客戶端:
using System.Net.Sockets; using System.Net; using System; namespace multiCastRecv { class recv { recv(string mcastGroup, string port) { Socket s=new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint ipep=new IPEndPoint(IPAddress.Any,int.Parse(port)); s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); s.Bind(ipep); IPAddress ip=IPAddress.Parse(mcastGroup); s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(ip,IPAddress.Any)); while(true) { byte[] b=new byte[10]; <span style="white-space:pre"> </span>Console.WriteLine("Waiting for data.."); s.Receive(b); string str = System.Text.Encoding.ASCII.GetString(b,0,b.Length); Console.WriteLine("RX: " + str.Trim()); } <span style="white-space:pre"> </span>s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.DropMembership, new MulticastOption(ip,IPAddress.Any)); <span style="white-space:pre"> </span>s.Close(); } public static void Main(string[] args) { new recv("224.5.6.7","5000"); } } }
相關推薦
C#實現組播源及客戶端
組播源: using System; using System.Net; using System.Net.Sockets; namespace multiCastSend { class send { send(string mcastGroup, strin
Unity使用C#實現簡單Scoket連線及服務端與客戶端通訊
簡介:網路程式設計是個很有意思的事情,偶然翻出來很久之前剛開始看Socket的時候寫的一個例項,貼出來吧Unity中實現簡單的Socket連線,c#中提供了豐富的API,直接上程式碼。服務端程式碼: Thread connectThread;//當前服務端監聽子執行緒
Windows server 2012 NTP配置,實現成員服務器及客戶端時間與域控制器時間同步
ges 域控制器 pad 右鍵 多個 控制器 lint 命令 解決方法 近期,發現公司域成員用戶時間與域服務器時間不同步 ,要實現:1、域內成員服務器及域內客戶端與域內NTP服務器同步 ,2、域NTP服務器當做客戶端與外網NTP服務器同步(配置Windows 時間服務以使用
Linux環境下伺服器利用組播來獲取客戶端IP
單播是兩個主機之間端對端通訊(比如TCP、UDP通訊),而廣播用於一個主機對整個區域網中所有主機的通訊。單播和廣播是兩個極端,要麼對一個主機通訊,要麼對區域網內所有主機通訊。然而在實際情況下,比如要獲取區域網內獲取執行特殊任務主機IP,單播顯然不適用,因為單播必須首先要知道通
(轉)服務端使用c++實現websocket協議解析及通信
nec req 和數 http響應 表示 new base64 枚舉 unsigned 轉自:http://blog.csdn.net/grafx/article/details/54234518 WebSocket 設計出來的目的就是要使客戶端瀏覽器具備像
JAX-RS RESTful webservice 服務端及客戶端實現(基於HTTPS雙向認證)
在ApacheCXF的Sample裡以及網上很多有關RESTful HTTPS雙向認證的文章介紹僅僅是理論,沒有涉及實際環境的實現(客戶端和服務端都是localhost);這幾天使用Apache的CXF以及 Apache portable HttpClient實現跨IP的J
WCF心跳判斷服務端及客戶端是否掉線並實現重連線
本篇文章將通過一個例項實現對WCF中針對服務端以及客戶端是否掉線進行判斷;若掉線時伺服器或客戶端又線上時將實現自動重連;將通過WCF的雙工知識以及相應的心跳包來實現此功能; 首先了解一下本例項的一個分層架構圖;相信瞭解WCF對這個分層法肯定都很瞭解;其中Client為客
Linux下DHCP協議解析及客戶端原始碼實現
Option ID Length(位元組) 描述 1 4 Subnet Mask 3 n*4 Router(閘道器) 6 n*4 DNS Server 7 n*4 Log Server 26 2 Int
centos7搭建svn服務器及客戶端設置
步驟 避免 names asi cat plain groups against none centos7貌似預裝了svn服務(有待確認),因此我們直接啟動該服務即可一、svn服務端配置(服務器IP假設為192.168.100.1)步驟1:創建存放代碼庫目錄mkdir -p
80211 組播速率及組播轉單播
表示 網絡接口 通過 sage tca 提高 解決方案 所有 ast 轉:http://jingyan.baidu.com/article/ff411625963a7912e4823789.html WLAN無線網絡理論上就是實現一個二層的接入網絡,而這個二層網絡通常直
Redis交互編程語言及客戶端
blog .com 交互 down head gpo header div top Redis Desktop Manager https://redisdesktop.com/download Redis Clients https://redis.io/c
第七屆藍橋杯省賽C/C++B組賽題及答案
part 實現 void 整數 三層 在一起 idt mage 算法; 第一題 【題目】 煤球數目 有一堆煤球,堆成三角棱錐形。具體:第一層放1個,第二層3個(排列成三角形),第三層6個(排列成三角形),第四層10個(排列成三角形),....如果一共有100層,共有多少個煤
[RHEL 7]ISCSI服務端及客戶端連接配置
防火 root inline 磁盤 fdisk -l str att 斷開 linux lvm 環境RHEL7.4 1.搭建服務器端主機環境 網絡配置 網卡eth0 10.0.0.1 網卡eth1 10.1.0.1 網卡eth2 10.2.0.1 網卡eth3 10
webservice服務及客戶端 編程 - 入門
ktr return stat XML ext rpc 工具 瀏覽器 控制 開發工具 eclipse 建立一個簡單的webservice服務 1 創建服務 (1)創建一個 java項目(java project)或 web項目(Dynamic web project
組策略部署SCCM客戶端
fff 服務 技術 讀取 win7 set type 獲取 添加 SCCM有多種客戶端部署方式,例如通過控制臺配置自動發現部署,組策略部署,手動部署,腳本部署等,今天介紹的是如何通過組策略部署客戶端 首先我們打開組策略控制臺新建一個組策略,命名為KSLX_SCCMAgent
Oracle數據庫之體系結構詳解,基本操作管理及客戶端遠程連接
plus down 緩沖區 擴展名 應用 提交 normal 系統 等待 上一篇文章《Oracle Database 12c安裝》講解了如何安裝oracle數據庫,這篇文章繼續講解數據庫的體系結構,基本操作管理及客戶端遠程連接Oracle的體系結構 Oracle數據庫由兩部
SoftEther centos 服務器搭建 及 客戶端連接
遠程主機 運行 添加 password art 分享圖片 dbd nload word 開始安裝 1 安裝部署 服務端 cd /usr/local/ 打開要安裝的路徑,可以自定義 # wget https://github.com/SoftEther×××/S
30、mysql初始化及客戶端工具的使用
mysql監聽的埠: 3306/tcp 檢視埠 ss -tnl 檢視命令歷史 ~/.mysql_history Mysql初始化:提供配置檔案(/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf) 集中式的配置:多個應用程式共用的配置檔案
實現socket的服務和客戶端通訊
對學習過程中自己敲的一些關於socket有關的程式碼做了個簡單總結,在這分享一下,給有需要的同學借鑑一下。 什麼是socket? 網路上的兩個程式通過一個雙向的通訊連線實現資料的交換,這個連線的一端稱為一個socket。 建立網路通訊連線至少要一對埠號(socket)。socke
Zookeeper分散式及客戶端Curator的API簡單使用
最近公司專案中使用了分散式Zookeeper及Dubbo,為了弄清楚這些框架在專案中的使用,在我業餘時間中學習了一些Zookeeper的簡單用法,分享出來,若有不足之處,望大家給與建議...... 一、什麼是分散式系統? 我的理解:將原有的系統拆分為多個子系統組成一個龐大的系統,這個龐大