请教:
服务器端:
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    ClientSocket1: TClientSocket;
    ServerSocket1: TServerSocket;
    procedure Button1Click(Sender: TObject);
    procedure ClientSocket1Connect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure FormCreate(Sender: TObject);
  private
    iStatus : Integer;
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation
                                              
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
      ClientSocket1.Close;    //首先关闭断开原先的连接
      ClientSocket1.Address:='192.168.0.118';   //赋远程机的 IP 地址
      ClientSocket1.Open;                       //建立 socket 连接
      while iStatus = 0 do Application.ProcessMessages;
      if iStatus = 1 then ClientSocket1.Socket.SendText('hghghj');
end;procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
      iStatus := 1;
end;procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
    iStatus := -1;
    ErrorCode := 0;
end;procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
     ss:string;
begin
     ss:=Socket.ReceiveText;
     showmessage(ss);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
     if   ServerSocket1.Active = false  then  //打开  ServerSocket1
            begin
                  ServerSocket1.Active:=true;
            end;
end;end.客户端:
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp, StdCtrls;type
  TForm1 = class(TForm)
    ServerSocket1: TServerSocket;
    ClientSocket1: TClientSocket;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerSocket1ClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure Button1Click(Sender: TObject);
  private
     Clientserver:boolean;                //用来判断远程的 ClientSocket1 是都向 本机发送了 连接请求,并且是否成功了
    { Private declarations }
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
      if   ServerSocket1.Active = false  then  //打开  ServerSocket1
            begin
                  ServerSocket1.Active:=true;
            end;
      
     //**************** 用来判断远程的 ClientSocket1 是都向 本机发送了 连接请求,并且是否成功了*******
      Clientserver:=false;
     //**************** 用来判断远程的 ClientSocket1 是都向 本机发送了 连接请求,并且是否成功了*******
end;procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
     ss:string;
begin
     ss:=Socket.ReceiveText;
     showmessage(ss);
end;procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
       Clientserver:=true;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
      ClientSocket1.Address:='192.168.0.118';
      ClientSocket1.Open;      while (Clientserver = false) do          //连上了远程
      begin
            Application.ProcessMessages;
      end;      if (Clientserver = true) then
          begin
                ClientSocket1.Socket.SendText('csok'); //告诉客户端和服务器端连接起来了
          end;
end;end.现在我单击 服务器端的 Button1 ,则客户端可以收到 服务器发过来的字符串
但是我单击 客户端的 Button1 , 则服务器端不能收到 服务器发过来的字符串各位大哥,这是什么原因?还有,while iStatus = 0 do Application.ProcessMessages;
这里可以改一下吗?改为 多少秒还是连接不上
则放弃,不然,别的就不能用 ClientSocket1 啊
(也就说,我可能用 ClientSocket1 向Address 为 '192.168.0.119' 
的发送连接请求)我试这个程序
服务器端和客户端是在同一台计算机上
但是是使用不同的端口
(我想应该不是服务器端和客户端是在同一台计算机上的原因)谢谢!