1 设置成非阻塞模式(ctNonBlocking)
2 在OnConnect时间中调用SendText

解决方案 »

  1.   

    ServerSocket1.Socket.Connections[0].SendText('Hello')
                         *************   
      

  2.   

    记不清是Connections[0]还是Connection[0]了.
      

  3.   

    to diecode(老死鸡) 
    "在OnConnect时间中调用SendText"
    这个我想到过了, 主要是我本想在一个线程里完成connect-send-receive,然后结束线程。
    后来我使用了下面的办法
    在线程的execute里
    try
        ClientSocket.Active := true;
    except on ESocketError do
          MessageDlg('Unable to Connect to Server ' + #13 + 'Please Try Again!',mtInformation,[mbOk],0);
      end;
      Self.FWaiting := true;
      while Self.FWaiting do
      begin
        Application.ProcessMessages;
      end;
      ClientSocket.Send(data);
    end;
    我在onConnect里将FWaiting设成false;
    在execute里用
        Application.ProcessMessages;
    等待。等连接上了以后我再send。
    receive也用了同样的道理。
    但不好的地方就是如果服务器出了问题,线程就不会退出,一直在那边等。除非自己再加一些控制的代码,好麻烦。我只是想再一个线程里处理所有操作,然后关掉Socket,结束线程。不知有没有好的办法呢?
    to Wango(我为程狂) 
    好像没明白我的意思,不过谢了:)
      

  4.   

    我会给你们加分的,不过我想先等等,看看被人有什么想法
    thanks