在VB.Net中开发IP messenger

在VB.Net中开发IP messenger,.net,vb.net,network-programming,tcpclient,tcplistener,.net,Vb.net,Network Programming,Tcpclient,Tcplistener,我想在VB.Net中为所有连接到局域网的用户开发一个Ip messenger应用程序。 我能够根据IP地址向用户发送消息 我想要一个功能,列出所有连接(使用)到此应用程序的用户,以便他们可以接收消息 如何检查其他位置的人是否连接到应用程序 我首先使用System.Net.NetworkInformation.Ping和PingReply来获取用户是否可用 如果不检查是否开始将消息发送到未使用的位置,则当我尝试在特定端口运行connect user时,会引发套接字异常 Di

我想在VB.Net中为所有连接到局域网的用户开发一个Ip messenger应用程序。 我能够根据IP地址向用户发送消息

我想要一个功能,列出所有连接(使用)到此应用程序的用户,以便他们可以接收消息

如何检查其他位置的人是否连接到应用程序

我首先使用System.Net.NetworkInformation.Ping和PingReply来获取用户是否可用

如果不检查是否开始将消息发送到未使用的位置,则当我尝试在特定端口运行connect user时,会引发套接字异常

            Dim tcpClient As New TcpClient(ip, 2828)

若我在try-catch块中编写此代码,则延迟后还会返回错误。有没有什么快速的方法可以检查特定端口是否有侦听器?

如果这只是为了局域网使用,我建议查看UDP广播。让每个客户端每秒在网络上广播一次其可用性。。然后,您可以根据自上次更新数据包以来的时间更新本地可用性显示。在发送包含消息的数据包时,侦听应用程序ACK。如果你在5秒钟内没有收到一条,请指出发送失败。

我现在创建了应用程序确认,以收听我创建了一个单独的线程。没有必要始终继续此侦听器线程。如何确定运行侦听器线程的时间。