最近一段時間居家辦公,使用 Java Swing 編寫 IpChat, 基於 IP Messenger 協議,支持 IPv6。可實現簡單的文本信息傳輸,點對點直接通訊,無需中間伺服器。 ...
最近一段時間居家辦公,使用 Java Swing 編寫 IpChat, 基於 IP Messenger 協議,支持 IPv6。可實現簡單的文本信息傳輸,點對點直接通訊,無需中間伺服器。
上圖為 Windows 10 下運行截圖。
目前實現了初步文本聊天功能。
此軟體開發的初衷,是因為 原版 IP Messenger(日文/英文) 的機制, 是先通過廣播,瞭解區域網內哪些電腦使用了 IP Messenger 且在運行中,基於 IPv4/IPv6 + 用戶網名, 組織成一個"當前活動的朋友列表"。然後在此基礎上,進行文本通訊。
在 IPv6 的情況下,這種廣播包,有可能被路由器阻斷,發不出去。
IP Messenger 對於向離線用戶發文本消息,採取"等待檢測到對方上線狀態後,再發送"的策略。導致在 IPv6 網路下,工作不太正常(一直檢測不到對方上線的狀態)。
此次開發的 IpChat 軟體,主要設計思路是:
a)基於 IP Messenger 的通訊協議;
b)去掉"當前活動的朋友列表",增加"我的好友列表";
c)發送消息時,不檢測對方的線上狀態,直接"點對點"發送,發送失敗後有一定次數的自動重發;
目前可在 Windows 10, 11, Ubuntu 20.04,Debian GNU/Linux 11.1 上運行。
上圖為 Ubuntu 20.04 下運行截圖。
後續看情況,再決定是否發佈 Android 移動手機版。
歡迎轉載,轉載請註明出處: https://www.cnblogs.com/jacklondon/, https://www.zheguisoft.com/staff_blogs/jacklondon_chen/2022, 及 https://my.oschina.net/jacklondon/
轉載請註明出處: http://www.cnblogs.com/jacklondon ; 歡迎訪問 http://www.zheguisoft.com/ 並提建議。