我设置了一个System.Net.Sockets.Socket。我启动套接字侦听传入连接以获取套接字请求。同一个套接字应该能够停止侦听并写入并连接到其他套接字。在我将套接字设置为Listen后,我无法让它发送连接命令。我得到了这个例外:
发生了'System.InvalidOperationException'类型的未处理异常 System.dll中 附加信息:调用Listen方法后,您可能无法执行此操作。
如何更改其状态并允许其更改连接并返回聆听状态?我正在使用TCP localhost
{{1}}
答案 0 :(得分:1)
你的方法错了。服务器套接字侦听端口,客户端尝试连接。当从客户端收到连接时,服务器会创建另一个套接字(当server.Accept()
在阻塞套接字上返回时)。
该accept调用的返回值也是一个套接字,这是您应该用来与客户端通信的内容。我对VB不太满意,但你要编码的是你必须保存socket.Accept()
的返回值:
clientSocket = server.Accept()
然后您可以在clientSocket
变量上调用发送/接收方法。