我想在VB.Net中为LAN中连接的所有用户开发一个Ip messenger应用程序。 我可以根据IP地址向用户发送消息。
我想要一个功能列出连接(使用)到这个应用程序的所有用户,以便他们可以接收消息。
如何检查其他位置的人是否已连接到该应用。
我首先使用System.Net.NetworkInformation.Ping和PingReply来判断用户是否可用。
如果我没有检查是否开始向未使用的位置发送消息,那么当我尝试在特定端口运行connect user时会抛出Socket Exception。
Dim tcpClient As New TcpClient(ip, 2828)
如果我在try catch块中编写此代码,延迟后也会返回错误。有没有快速的方法来检查特定端口是否有侦听器?
答案 0 :(得分:0)
如果这只是用于LAN,我建议查看UDP广播。让每个客户端每秒在网络上广播一次它的可用性..然后,您可以根据自上次更新数据包以来的时间更新本地可用性显示。在发送带有消息的数据包时,请侦听应用程序ACK。如果您在5秒钟内没有获得一个,则表示交付失败。