设置:我想编写一个点对点Connection
类,它在使用时不区分服务器和客户端。第一个调用connect()
的主机将成为等待客户端连接的服务器,第二个主机将成为连接到服务器的客户端。确定服务器是否在使用udp时正在监听
为了做到这一点的方法connect()
首先需要检查是否有监听的服务器。 a)第一次发生这种情况时,找不到服务器,呼叫connect()
的一方开始监听localhost
和传入连接的配置端口。 b)呼叫connect()
的第二方也检查给定端口上的远程主机,识别服务器并连接到它。
这不是太难使用TCP因为TcpClient.Connect()
抛出时,可能没有建立连接异常。所以我知道我什么时候是第一个。因为我只使用可靠的局域网,所以我想使用UDP。
我的问题:如何确定UDP服务器套接字是否正在等待传入数据。
理想情况下,我想直接使用异步网络API。而不是自己处理所有的监听线程。