Windows 我可以从同一个客户端在同一端口上建立多个到同一服务器的TCP连接吗?具体到445端口

Windows 我可以从同一个客户端在同一端口上建立多个到同一服务器的TCP连接吗?具体到445端口,windows,tcp,Windows,Tcp,我可以在同一端口上建立多个到同一服务器的TCP连接吗? 例如: 连接1:端口445上的机器A到机器B 连接2:端口445上的机器A到机器B 不终止先前建立的连接1。 如果是,是否需要进行任何设置以启用此类场景?是,您可以。没有任何特殊设置 这正是您启动Internet Explorer和Mozilla Firefox并使用两者导航到同一站点时发生的情况 为了连接到服务器,机器A使用任何端口号打开一个套接字,并尝试连接到机器B的端口445。侦听端口445的机器B可以接受此传入连接,并使用其他端口号

我可以在同一端口上建立多个到同一服务器的TCP连接吗? 例如:

连接1:端口445上的机器A到机器B

连接2:端口445上的机器A到机器B

不终止先前建立的连接1。
如果是,是否需要进行任何设置以启用此类场景?

是,您可以。没有任何特殊设置

这正是您启动Internet Explorer和Mozilla Firefox并使用两者导航到同一站点时发生的情况


为了连接到服务器,机器A使用任何端口号打开一个套接字,并尝试连接到机器B的端口445。侦听端口445的机器B可以接受此传入连接,并使用其他端口号的另一个套接字将其连接到。最后,在机器A上的任何端口和机器B上的任何端口之间建立了实际的TCP连接。在机器B上,端口445仅用于侦听,并且可以接受其他连接。

是的,您可以。没有任何特殊设置

这正是您启动Internet Explorer和Mozilla Firefox并使用两者导航到同一站点时发生的情况


为了连接到服务器,机器A使用任何端口号打开一个套接字,并尝试连接到机器B的端口445。侦听端口445的机器B可以接受此传入连接,并使用其他端口号的另一个套接字将其连接到。最后,在机器A上的任何端口和机器B上的任何端口之间建立了实际的TCP连接。在机器B上,端口445仅用于侦听,并且可以接受其他连接。

TCP/IP标准支持这一点。您连接到服务器端的固定端口,但客户端的端口不在您的控制之下。TCP/IP堆栈将选择客户端端口,然后定义连接,并使用4位信息将其与其他连接区分开来:客户端IP地址、客户端端口、服务器IP地址和服务器端口。

TCP/IP标准支持这一点。您连接到服务器端的固定端口,但客户端的端口不在您的控制之下。TCP/IP堆栈将选择客户端端口,然后使用4位信息定义连接并将其与其他连接区分开来:客户端IP地址、客户端端口、服务器IP地址和服务器端口。

可以,TCP/IP会话由以下5元组标识:

(src-ip, src-port, dst-ip, dst-port, protocol).

在您的情况下,5个值中的4个必须相同:src ip A、dst ip B、dst端口445、协议tcp。因此,src端口仍然为您提供了一定的自由度,通过改变这个自由度,您可以设置多个会话。默认情况下,您的操作系统将为同一服务器的每个连接选择一个新的、唯一的源端口。

可以,TCP/IP会话由以下5元组标识:

(src-ip, src-port, dst-ip, dst-port, protocol).

在您的情况下,5个值中的4个必须相同:src ip A、dst ip B、dst端口445、协议tcp。因此,src端口仍然为您提供了一定的自由度,通过改变这个自由度,您可以设置多个会话。默认情况下,您的操作系统将为同一服务器的每个连接选择一个新的、唯一的源端口。

在大多数实现中,您确实可以控制用于连接的端口,只是不需要这样做,或者通常甚至不建议这样做。是的,默认情况下,更好的措辞可能不在您的控制之下。我只是不想在答案中添加干扰。在大多数实现中,您确实可以控制用于连接的端口,只是不需要这样做,或者通常甚至不建议这样做。是的,默认情况下更好的措辞可能不在您的控制之下。我只是不想给答案添麻烦。谢谢,实际上端口445是用来在windows中共享资源的。一旦建立连接。在断开以前的连接之前,我无法建立另一个连接。我正在开发应用程序.NETC,它使用Directoryentry.Net类对象访问远程计算机用户详细信息。在此情况下,端口445已建立连接,但未得到释放,但我无法建立新连接。谢谢,实际上端口445用于windows中的资源共享。一旦建立连接。在断开以前的连接之前,我无法建立另一个连接。我正在开发应用程序.NETC,它使用Directoryentry.Net类对象访问远程计算机用户详细信息。在这种情况下,建立到端口445的连接,但它没有得到释放,但我无法建立新的连接。