两台机互为客户端和服务器端,
我写的程序中使用了两个Socket,一个是ClientSocket,一个是ServerSocket,
请问我在使用ClientSocket向另一台机发送数据的时候,本机能同时使用ServerSocket来接收另一台机发过来的数据吗?这两个操作能否并行?

解决方案 »

  1.   

    我想知道,这两个Socket并发的实现是不是利用的Windows的多线程。
      

  2.   

    这两个Socket并发的实现是不是利用的Windows的异步IO,当然也有多线程的实现
      

  3.   

    当然可以了
    //客户端
    procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    var tempstr:string;
    begin
        tempstr :='sdfdsfsdfsdf';
        ClientSocket1.Socket.SendText(tempstr);
    end;
    //服务端
    procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    var
      tmpstr,User:string;
      ii,jj :integer;
      Listitem:Tlistitem;
      exist :bool;
    begin
       tmpstr :=Socket.ReceiveText;
    end;
      

  4.   

    to woshiworead1(无双):
      如果不可以的话,那我在作为客户端发送数据的时候,远端的机器请求服务器建立连接一接收数据,因为服务器被停了,数据不能及时接收到,我该如何解决这个矛盾?