我在一台有固定IP的计算机上运用服务器端程序,用ServerSocket控件监听,端口采用20000,在另一台ADSL拨号上网的计算机上运用客户端程序进行连接,用ClientSocket控件连接,Host为远程计算机的固定IP,端口为2000,可是两台计算机无法连接上,不知问题在什么地方?
不吝指教,谢!

解决方案 »

  1.   

    TServerSocket和TClientSocket
    设置好属性后都active,先TServerSocket空间active再TClientSocket,这是先后关系
    然后只要你的端口等属性设置正确就可以通讯了
    ClientSocket.Socket.SendText('Sdddddd');  //客户端向服务器断发送
    ServerSocket.Socket.Connections[0].SendText('UP');  //服务器向第一个连接上来的客户端发送消息
      

  2.   

    两台计算机的端口都是2000,我的QQ:253361149,UC:69351322,有兴趣的朋友可以一起来测试一下
      

  3.   

    “固定IP”指的是什么?试试在“客户端”电脑上Ping一下“服务器”
      

  4.   

    是指外网的IP,我的ServerSocket是TServerSocket,是不是该改为TIdTcpServer才对啊
      

  5.   

    不用啊,这个应该很简单的一个程序啊,我一直调程序都是在远程调的,和你说的一样,没有任何问题啊,我们公司的一个服务中心程序它也是用TServerSocket,全国的client端都能登录和发送数据.你看看你的socket打开了没有.端口和IP对不对.    你的server端和client端都是独立在外网中?(是不是有双网卡?)因为TServerSocket不知道应该绑定哪一个IP地址可能会出现这种情况.
      

  6.   

    TServerSocket应该绑定外网的IP才对,“固定的IP”是不是指外网的IP是固定的?
      

  7.   

    我的程序在局域网内没有问题,可是将服务器端程序一放到外网上就不行了,以下三种情形我都试了,不行啊,为什么?
    1、服务器程序的电脑用宽带接入,客户端程序的电脑在局域网内
    2、服务器程序的电脑用宽带接入,客户端程序的电脑用ADSL连网
    3、服务器程序的电脑用ADSL连网,客户端程序的电脑用ADSL连网
     
    (中原):能否详细告知你们公司程序的运行机制?不胜感激!
      

  8.   

    我们公司是做位置定位和调度的是用GPRS来做的,GPRS一旦连接到网络中后就有一个动态的IP分配给它.相当是一个Pc
    数据的上发:
    GPRS-->联通服务器-->联通内网-->我们托管在联通的服务器-->联通的网关-->客户网关-->客户服务器-->客户的内网数据的上发也一样
    我们托管在联通的服务器和客户服务器都有两个IP,这里就必须要绑定指定的IP才能正常的工作.delphi6的控件没有办法解决这个问题,只有用代码自己来写这些代码.