區域網通知系統(訊息群發)

2022-03-25 07:28:30 字數 914 閱讀 3175

相信同學們都有這樣的經歷:老師發個qq訊息,結果沒看到。等了n小時才看到,非常不方便。針對這種情況,自主開發了乙個區域網通知系統。

本程式分為客戶端和主機。主機可以發出通知,只要區域網內的電腦配置了客戶端就可以收到通知。這個通知是強制顯示在電腦螢幕中間的,絕對不用擔心看不到!如圖:

收到訊息後雙擊文字,就可以讓文字消失,同時程式自動通知主機該客戶端已經做出了響應,也就是收到了訊息。

這個是客戶端配置程式:

填寫好主機ip和您的稱呼,點選配置,就啥都不用管了!以後可以隨時更改主機ip和稱呼!無論您怎麼改,主機都可以智慧型接受!不想用了就點解除安裝!保證一點垃圾不給你留!

下邊是主程式:

閒話少說,直接說程式特點:

1.為了最大限度的減少客戶端的資源占用,該系統使用了udp傳輸協議,使客戶端cpu占用為0,記憶體占用不超過10m(一般4-7m)。所以放心使用!絕對不給你的電腦新增負擔。如圖選中就是客戶端服務:

2.只要主機開啟著,有新增客戶端的時候會自動新增到列表,不用手動匯入。極大的方便了管理。也就是說您不用輸入任何文字即可完成對所有客戶端的新增。當然,列表會儲存在本地,下次開啟主機仍然可以看到。

3.主機**訊息後,未應答列表可以檢視哪些客戶機沒有響應,以便及時重發訊息。主機給哪些客戶機發了訊息,這些客戶機自動新增到未應答列表,只要客戶機做出了響應(雙擊文字),他的ip自動從未應答列表消失。由於是udp協議,不可避免的會丟失資料,這也可能造成客戶端無應答,重發即可!

做這個系統時遇到了乙個非常無語的問題,就是主機無法接受客戶端的訊息,必須先是主機給客戶端發,然後才可以主機才可以接受客戶端的訊息。這在理論上是說不通的。因為udp協議是對等協議,沒有客戶端服務端之分,每乙個程式都可以成為服務端。最後終於發現了問題的所在!原來是被我的防火牆遮蔽了!!!幸好及時想到,要不這輩子都想不明白咋回事。

Android socket區域網通訊

然後需要設定網路許可權,也就是在androidmaifest裡面新增internet許可權 public static string getlocalipaddress catch socketexception e return null 就可以獲取到本機的ip位址。在做第一次連線測試的時候,只需...

跨越區域網通訊(一)

通過adsl聯網的兩台主機怎麼才能相互通訊呢?對於一般的adsl使用者來說,通過adsl聯網都是動態ip,即它們的ip位址是不固定的。當它們聯上外網,電信給它乙個外網ip位址,當它斷開後電信會 此ip位址。重新聯網後,電信會根據剩餘的ip位址列表給出乙個新的外網ip位址。在socket通訊中,我們都...

android區域網通訊框架

該框架支援訊息失敗重複,訊息傳送成功或失敗的返回,支援心跳包,支援服務端斷網重連,話不多說直接上圖 上圖是整個框架的結構圖 tcpservice是服務端通訊的類,負責監聽客戶端連線請求,維護客戶端列表 finder是服務端,客戶端端搜尋的基類 subordinatefinder是服務端用來發現客戶端...