我用TIdTCPServer写了一个很简单的服务器。在家里测试没有问题的。但是到了客户现场问题就出来了。我用客户端连服务器死活就连不上,后来发现客户那每个机器的网卡上都绑定了两个IP。临时的解决方法是把一个IP去掉留一个IP,然后客户端在连服务器的时候也不用电脑名,直接用IP就没问题了。我也没有设置TIdTCPServer的Bindings属性啊,为什么会出现这种现象?我在家里把我的电脑的网卡也绑定了两个IP,不管是用IP还是用电脑名都没有问题。会是客户那的网络设置的问题吗?比如说域的设置还是什么别的原因?还是我的程序写得有问题?

解决方案 »

  1.   

    >>客户那每个机器的网卡上都绑定了两个IP一个网卡绑定多个IP,不是问题的原因的.在这种情况下,TIdTCPServer启动监听端口后,
    用相关的软件看一下,你的端口监听情况,比如netstat -a C:\Documents and Settings\do2008>netstat -n -aActive Connections  Proto  Local Address          Foreign Address        State
      TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
      TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
      TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
      TCP    0.0.0.0:1110           0.0.0.0:0              LISTENING
      TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING
      TCP    127.0.0.1:1026         0.0.0.0:0              LISTENING
    ...
    像Local Address为0.0.0.0:80 的,不管是哪个IP都应该可以的.2.>>一个IP去掉留一个IP,然后客户端在连服务器的时候也不用电脑名,直接用IP就没问题了你客户的两个IP,是否都是不同网段的IP呀,它们的网关之类的网络配置是如何,另外检查一下WINS配置是否正确.
      

  2.   

    是两个不同的网段,分别是192.168.1.X和200.200.200.X。WINS配置怎么设置?
      

  3.   

    网段不同,那网关地址是如何配置的呢,
    至于WINS,也不一定要配置wins服务的.开启TCP的netbios解析就可以了/只要在各台机子之间,可以用网上邻居,互相访问,
    应该是没有问题的.