gpt4 book ai didi

Java Socket 编程 LAN Messenger

转载 作者:行者123 更新时间:2023-12-01 11:56:28 24 4
gpt4 key购买 nike

我正在开发 Lan Messenger,如何检查其他人的系统是否已插入 LAN?意思是,那个人在线吗?

此外,我们的宿舍有 LAN,我已经多次尝试运行客户端服务器程序,但它在我的系统上运行良好(2 个客户端与服务器在同一台计算机上),但在服务器时它无法运行和客户端位于不同的机器上。代码完全没问题。可能是什么原因?是否需要更改任何特殊的防火墙设置以允许数据包?

最佳答案

我现在正在使用套接字创建一个聊天服务器,我这样做的方式是让每个用户大约每 20-30 秒查询一次服务器。服务器会跟踪用户上次“刷新”自身的时间。如果用户在一定时间段或更长时间内没有这样做,那么服务器会告诉任何试图联系该用户的人他们已离线。

这是一个非常好的工作引用。查看服务器端的 Server 文件夹和客户端的 src 文件夹: https://code.google.com/p/simple-android-instant-messaging-application/source/browse/trunk/#trunk%2FServer%253Fstate%253Dclosed

如果您只想在 LAN 内进行通信,那么该链接中的套接字实现绝对是您想要的。如果您想进行全局通信(1 个 LAN 中的用户与其他 LAN 中的用户),那么您需要稍微重新设计它,以便您的服务器套接字实际上位于某些接受客户端连接的服务器上。当前的实现在每个客户端内创建一个服务器套接字,并接受来自其他尝试与其通信的客户端的连接。这种设计因 NAT 路由器而中断(出于原因,除非您真的想知道,否则我不想解释)。

关于Java Socket 编程 LAN Messenger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28412982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com