我用if (PSuperVise^.mSocket.RemoteHost=Socket.RemoteHost) and
        (PSuperVise^.mSocket.RemoteAddress=Socket.RemoteAddress) then进行判断,结果在局域网内没有问题,但在外网(互联网)中,发现判断出错。为什么?怎么办?

解决方案 »

  1.   

    if (PSuperVise^.mSocket.RemoteHost=Socket.RemoteHost) 
    這個判斷已經足夠了吧??
      

  2.   

    RemoteHost是否要在客户端设置后才有的?
      

  3.   

    在Internet上Socket.RemoteHost指的网关或有真实IP的机器,除非客户端自定义一个识别标志,不然服务器是不能判断是不是同一台机器的。
      

  4.   

    kmzym():
      那怎样才能自定义识别标志,让客户端连接上来时就能知道对方属于哪台机器呢?  是不是Socket的属性里没有一项可以用来判断客户端身份的?
      

  5.   

    to collecte
      用Socket的属性不能判别客户的机器,可以在客户登录服务器的时候,发送客户相关信息来给服务器。