1、在LAN上的服务器上没装/没运行相应的服务程序。
2、socket的端口设置不正确。
3、网络不通。
4、...
能否将你的详细情况说一说?

解决方案 »

  1.   

    谢谢。网络是通的。用“搜索计算机”可以互相找到对方。
    “在LAN上的服务器上没装/没运行相应的服务程序。”是什么意思?我把服务器方程序先运行了,等待客户连接。 在本机上用127。0。0。1地址无问题。请问DNS、网关设置有影响吗?我想不应该的呀。只要TCP/IP设置好不就行了?
      

  2.   

    我把服务器方程序先运行了,等待客户连接。 
    -----是在目标server上运行的吗?
    socket的ip和port设置正确吗?
      

  3.   

    木易,是在目标SERVER上运行的(WIN98那台电脑)。
    IP: SERVER是 10.0.0.190.  CLIENT是 10.0.0.198.我在CLIENT上设置SOCKET的IP为10.0.0.190.  PORT都设置为 1234.WHY???????????????????
      

  4.   

    是不是要运行scktsrvr.exe?这是个什么东西?
      

  5.   

    客户端在执行 ... = ACTIVE语句后,就尝试连接,处于等待状态,这是服务器方没有反应。等大概5秒,客户方异常。 错误代码是: 100060,意思就是不能连接。大家帮我UP。谢谢了。
      

  6.   

    你还没有运行scktwrvr.exe吗?这是必须要在服务器端运行的
      

  7.   

    "你还没有运行scktwrvr.exe吗?这是必须要在服务器端运行的 "
    you are wrong!
    maybe the programs have some problem.try it in the same machine.and debug it
    step by step
      

  8.   

    SOCKET在本机上发送,一切正常。发送函数为:SENDFILE(FILENAME:STRING,IP:STRING);本机上调用时,先在本机上启动SERVER端程序,然后在客户端调用SENDFILE("C:\1.TXT",127.0.0.1); 正常。在LAN上调试时,除了将SERVE端程序在SERVER机器上运行后。客户用SENDFILE("C:\1.TXT",10.0.0.190); 也就是说,只是客户端调用时用了此时SERVER机器的IP而已,没有别的改动。其中,本机(客户)IP为10.0.0.198 (WIN2k系统),
    SERVER机器IP为10.0.0.190.(WIN98系统)。CLIENT和SERVER用“搜索计算机”可以互相找到。我追踪客户代码时,发现执行clientsocket1.active := true后,服务器端没有反应,
    而客户端在等待大约5秒后异常,错误代码:10060。请大家帮我  UP !!!
      

  9.   

    1、在client上用ping 10.0.0.190看能否通?(测试tcp/ip是否正确)
    2、用“搜索计算机”可以互相找到对方,只能说明网络是通的,但不能说明tcp/ip是否正确
      

  10.   

    已转至网络版。
    问题已经基本解决。我在另外一个LAN内试出来了,我也不知道为什么,总之我的程序没有改动。但是,又碰到了一个问题。比如:procedure a(....)
    begin  bb := 0;
      在执行这条语句时,老是自动跳到CLIETNSOCKET的onread中。空读一次。比如,我读到一个动词,正准备分析,在执行bb := 0 时,会去空读,这样,读出的动词就是空的。出错。不知道为什么。单机正常。
    end
      

  11.   

    { 客户端响应并处理服务器端的动词 }
    procedure ClientEchoForVerb(AVerb: TSocketVerb; DataBuf: TDataBuf; DL: Integer;
                                var SendBuf: TSendBuf; var SendSize: Integer;
                                AClientSocket: TClientSocket);
    var
      P: PSocketData;
      DBuf: TDataBuf;
      ResL, L: Integer;
      EchoVerb: TSocketVerb;
    begin
      SendSize := 0;
      P := AClientSocket.Socket.Data;  if (P <> nil) and (P^.OnLine) then showmessage(IntToStr(AVerb));
      //执行到这里时,当AVerb表示“从服务器端发送到客户的第一个数据包时”,按F7会
      //自动跳到ClientSocket1Read(..),再读一次,而不是紧接着往下执行。WHY????????  if (P <> nil) and (P^.OnLine) then case AVerb of
        vsNone,
      ............
      

  12.   

    1、第一个问题基本可以确定为tcp/ip没装好。
    2、第二个问题能否说详细一点,我还没明白什么意思。:-(
      

  13.   

    哦,看成socketconnection了,sorry