我尝试使用本地计算机上的套接字将客户端连接到C#中的服务器测试程序。但是,我得到了服务器主动拒绝连接"我尝试的每个端口号都有错误。
如何选择有效的端口号才能在示例客户端和服务器之间测试套接字?是否有有效的端口号。我可以用于这种情况吗?
答案 0 :(得分:1)
您可能无法绑定到所选服务器上所需端口的最可能原因:
您的网络通过防火墙或代理/网关实施此类限制。
服务器的网络不允许通过防火墙或代理/网关在相关端口上进行入站连接。
最后,服务器上的守护程序总是可能没有运行。
检查您的端口:
0-1023(0x000-0x03FF)
为“知名端口”保留,并且通常有一定的限制,至少对于服务器端而言。要求客户使用知名端口的特殊权限没有多大意义。
1024-65535(0x0400-0xFFFF)
假定任何人都可以使用。
但是......每个系统都有一系列指定为ephemeral ports的端口,通常不应使用这些端口。 Berkeley套接字使用1024-4999作为固定范围,但该范围因系统而异,并且[通常]可配置。