使用 Java Swing 编写 IpChat, 基于 IP Messenger 协议,支持 IPv6
Posted 杰克伦敦尘的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 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/
以上是关于使用 Java Swing 编写 IpChat, 基于 IP Messenger 协议,支持 IPv6的主要内容,如果未能解决你的问题,请参考以下文章
用java编写的swing程序。如何在主界面中实现刷新的功能,就是让主界面的组件刷新