我正在写一个系统,其中两个程序将通过TCP套接字异步通信。客户端用golang编写,但服务器可能有所不同。我目前正在用C#编写一个。本地TCP服务器使用哪个地址?
在开发过程中,我用
conn, err := net.Dial("tcp", net.JoinHostPort("127.0.0.1", strconv.Itoa(d.port)))
客户端,并在服务器上我做:
this.listener = new TcpListener(IPAddress.Parse("127.0.0.1"), port);
然而,对于生产,我怀疑可能并非在所有情况下工作。例如,用户可能会使用IPv6。我也在服务器上试过localhost
,但是在Windows上,默认情况下它不是和127.0.0.1
一样(它必须被启用,这不是一个选项)。
是否有一种运行本地TCP服务器的更加傻瓜化的方式,应该在所有情况下都能正常工作?
使用127.0.0.1。出于所有实际目的,它总是被定义的。 – JimB