功能要求:
  向一指定的ip、port发送一段XML数据的函数,函数的结果返回的是从服务器端监听返回的XML数据  异常的情况一般主要是服务器没有开通,通过指定的IP和端口连接不上服务器  基本上单线程就可以满足,初次接触TTCPBlockSocket  最好能贴出一段能测试使用源代码  解决后结贴发分

解决方案 »

  1.   

    参考Indy提供的例子,服务器没开通是不是你服务器没激活或者端口被防火墙屏蔽(Windows自带的,其他的)
      

  2.   

    希望类似:
    var
      ListenerSocket, ConnectionSocket: TTCPBlockSocket;
    begin
      ListenerSocket := TTCPBlockSocket.Create;
      ConnectionSocket := TTCPBlockSocket.Create;
     
      ListenerSocket.CreateSocket;
      ListenerSocket.bind('127.0.0.1','1500');
      //问1 :连接上SERVER后,如何发数据
      //问2 :发完数据后,如何进行监听
      //问3 :接收返回的数据
      ListenerSocket.listen;
     
      repeat
        if ListenerSocket.canread(1000) then
        begin
          ConnectionSocket.Socket := ListenerSocket.accept;
          WriteLn('Attending Connection. Error code (0=Success): ', ConnectionSocket.lasterror);
          AttendConnection(ConnectionSocket);
        end;
      until false;
     
      ListenerSocket.Free;
      ConnectionSocket.Free;  正是因为没写过,才觉得不知如何入手,再也非常急,求能完成以上功能的简单代码
      正解,结200分,发了两贴
      

  3.   

    这些东西,用indy的http就可以,或者自己用socket写,参考
    http://blog.csdn.net/bdmh/archive/2010/08/31/5853121.aspx
    只是参考,是否符合你的想法,不清楚
      

  4.   


    先谢谢  FServerSocket.OnGetData := Self.DoGetData;
      FServerSocket.OnClientConnected := Self.DoClientConnected;  Self.DoGetData,Self.DoClientConnected怎么传参数啊?    procedure DoGetData(const stream:TMemoryStream);
        procedure DoClientConnected(const socket:TSocket);