winsock remoteport和winsock localport visual basic之间的区别6

时间:2013-01-17 18:45:13

标签: vb6 winsock

我搜索了互联网,但没有得到答案可以解释我之间的区别

2 个答案:

答案 0 :(得分:0)

服务器侦听localport,而客户端则从localport发送数据。 客户端远程端口应与服务器localport相同。 即: 服务器侦听端口n(相对于服务器的本地端口) 客户端连接到端口n上的服务器(相对于客户端的远程端口)

要回答你的问题,不同之处在于名称,基于观点。

This seems to be a good place to start with VB6 socket communication

答案 1 :(得分:0)

TCP“连接”是一个4元组。本地IP,本地端口,远程IP和远程端口。每一端都将此标识保持在其TCP堆栈中,并且感应被反转(本地与远程)。

这4个值的组合必须是唯一的。这解释了人们经常编写的TCP客户端重新连接到同一服务器的问题。

“闭合”连接在TIME_WAIT状态下将此ID留在每端的表中一段时间​​。这是TCP mechansim的一个工件,即使物理层连接中断,也可以处理维护连接的完整性,保持挂起的数据包不被第二个连接接收,等等.TIME_WAIT可以持续长达4分钟。

除非客户端将其套接字的LocalPort重置为0(这是对自动临时端口分配的请求),否则如果它在TIME_WAIT到期之前尝试重新连接,则可能会失败。由于新创建的套接字为0,因此程序员在调用Connect之前通常会忽略此要求。

LocalPort不仅仅是侦听套接字的问题。