我有一个'C#server'程序使用.NET套接字监听'127.0.0.1',端口5500,我有一个相应的C#客户端程序从同一台PC向此套接字发送消息。他们都很好。
现在如果我在单独的PC上运行“客户端”和“服务器”程序并通过连接其串行端口(RS232)的电缆连接它们,我是否应该对代码进行更改以使其工作?我问,因为我没有2台PC需要检查,但是在部署时需要它才能工作。
感谢。
答案 0 :(得分:7)
好吧,如果两台计算机都有适当的驱动程序将串行端口视为网络连接,那么它应该无需任何更改即可运行。
否则,您必须使用SerialPort
课程。明确地通过串口进行通话。
您可能会发现最好抽象代码以使其适用于流 - 然后您可以从网络连接获取流或串行连接,并且大多数你的代码不需要改变。
答案 1 :(得分:1)
如果服务器绑定到127.0.0.1然后是,则需要将其设置为0.0.0.0
原因是如果套接字绑定到IP地址,它将只接受该IP地址上的请求。 127.0.0.1仅用作机器IP地址(如果发起方位于同一台机器上)(它是一个单独的网络接口,设置为环回)。 0.0.0.0表示“任何IP地址”,因此您可以打开一个套接字,接受来自机器上任何网络接口的传入连接。
至于通过串行电缆运行...不知道这是否有效,并且很可能需要进行大量设置。
答案 2 :(得分:0)
如果你沿着这条路走下去,你会感到很痛苦: - )
TCP / IP 通常通过以太网工作 - 我从未见过在RS232串口上运行物理层的驱动程序,尽管这绝不是不可能的。
最好使用标准网线连接这两台机器。
答案 3 :(得分:0)
TCP / IP也适用于SLIP。还记得以前用来连接互联网的旧方式吗? PPP也会起作用。但我不认为这就是他在寻找的东西。