使用 Java Swing 編寫 IpChat, 基于 IP Messenger 協(xié)議,支持 IPv4/IPv6
最近一段時間居家辦公,使用 Java Swing 編寫 IpChat, 基于 IP Messenger 協(xié)議,支持 IPv4/IPv6。可實現(xiàn)簡單的文本信息傳輸,點對點直接通訊,無需中間服務器。

上圖為 Windows 10 下運行截圖。
目前實現(xiàn)了初步文本聊天功能。
此軟件開發(fā)的初衷,是因為 原版 IP Messenger(日文/英文) 的機制, 是先通過廣播,了解局域網(wǎng)內(nèi)哪些電腦使用了 IP Messenger 且在運行中,基于 IPv4/IPv6 + 用戶網(wǎng)名, 組織成一個"當前活動的朋友列表"。然后在此基礎上,進行文本通訊。

在 IPv6 的情況下,這種廣播包,有可能被路由器阻斷,發(fā)不出去。
IP Messenger 對于向離線用戶發(fā)文本消息,采取"等待檢測到對方上線狀態(tài)后,再發(fā)送"的策略。導致在 IPv6 網(wǎng)絡下,工作不太正常(一直檢測不到對方上線的狀態(tài))。
此次開發(fā)的 IpChat 軟件,主要設計思路是:
a)基于 IP Messenger 的通訊協(xié)議;
b)去掉"當前活動的朋友列表",增加"我的好友列表";
c)發(fā)送消息時,不檢測對方的在線狀態(tài),直接"點對點"發(fā)送,發(fā)送失敗后有一定次數(shù)的自動重發(fā);
目前可在 Windows 10, 11, Ubuntu 20.04,Debian GNU/Linux 11.1 上運行。

上圖為 Ubuntu 20.04 下運行截圖。
后續(xù)看情況,再決定是否發(fā)布 Android 移動手機版。
歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處: http://www.rzrgm.cn/jacklondon/, https://www.zheguisoft.com/staff_blogs/jacklondon_chen/2022, 及 https://my.oschina.net/jacklondon/

浙公網(wǎng)安備 33010602011771號