套接字侦听和连接

时间:2016-07-15 17:17:28

标签: vb.net sockets connect listen

我设置了一个System.Net.Sockets.Socket。我启动套接字侦听传入连接以获取套接字请求。同一个套接字应该能够停止侦听并写入并连接到其他套接字。在我将套接字设置为Listen后,我无法让它发送连接命令。我得到了这个例外:

  

发生了'System.InvalidOperationException'类型的未处理异常   System.dll中   附加信息:调用Listen方法后,您可能无法执行此操作。

如何更改其状态并允许其更改连接并返回聆听状态?我正在使用TCP localhost

{{1}}

1 个答案:

答案 0 :(得分:1)

你的方法错了。服务器套接字侦听端口,客户端尝试连接。当从客户端收到连接时,服务器会创建另一个套接字(当server.Accept()在阻塞套接字上返回时)。

该accept调用的返回值也是一个套接字,这是您应该用来与客户端通信的内容。我对VB不太满意,但你要编码的是你必须保存socket.Accept()的返回值:

clientSocket = server.Accept()

然后您可以在clientSocket变量上调用发送/接收方法。