我用侦听器等在c#中制作了基本的TCP Socket服务器和客户端控制台应用程序。它与在同一台计算机上执行的服务器和客户端都可以很好地工作(127.0.0.1:10048)。我想在同一网络(都连接到同一调制解调器)中的不同机器上尝试。我应该使用哪个IP端口?我需要帮助。谢谢
您应该使用临时端口范围内的端口。临时端口范围是从活动连接到服务器时正在选择的端口号范围。关键是它是免费使用的。您的内核将跳过已经使用的端口号,因此您也不必为此担心。
http://en.wikipedia.org/wiki/Ephemeral_port
最重要的是,最好不要对绑定或连接到的端口号和IP地址进行硬编码。
确保您的操作系统防火墙已关闭。例如,Windows防火墙可以阻止这种类型的流量。
不要仅使用检测到未使用的任何空闲端口。例如,您的系统上可能没有运行FTP或Telnet服务器,但这并不意味着您可以劫持这些端口。从功能的角度来看,如果可以的话,它会起作用,但是将来您将无法再在可能需要它们的地方运行这些服务,否则您的应用程序将开始出现故障。哪个失败取决于哪个应用程序首先启动并首先开始使用该端口。
绑定ip @时,应使用INADDR_ANY。如果您已经使用过,则回送通信仍然可以正常工作,大多数示例都包含了它。发送或连接到IP @应该来自配置文件(数据驱动)或命令行参数。IP @当然取决于您要与之通信的机器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句