我写了个socket的程序,使用socket控件
PT:=Thread1.Create(false, FileIp, FPo, IntFiletimeout, IntFiletimestep);
再客户端创建一个发送线程
线程代码如下:
unit UnitSendMsgThread;interface
uses
  Classes, Graphics, Windows,Sockets,ScktComp;
Type
  Thread1=class(TThread)  {Thread1?????????烋
 private
  suspend: Boolean;       {Create?????????????????菽?}
  HostName: string;       {???P}
  Port: Integer;           {?靹?????????}
  TimeStep: Integer;      {?????????????????莨荳
  TimeOut: Integer;       {???????????艟  //testSocket: TClientSocket; protected
  procedure Execute; override;   {?????犒?Execute????} public
  constructor Create (CreateSuspended: Boolean; hos: string;
                        por: Integer; timeo: Integer; time: Integer); end;
implementation
uses
   UnitKSFClient;       {????nitKSFclient???袵??耨??????袒???????}constructor Thread1.Create(CreateSuspended: Boolean; hos: string;
                        por: Integer; timeo: Integer; time: Integer);
begin
   suspend:=CreateSuspended ;
   HostName:= hos;
   Port:= por;
   TimeOut:= timeo;
   TimeStep:= time;   //testSocket:=TClientSocket.create(nil);
   //testSocket.Address:=hostName;
   //testSocket.Port:=port;   inherited Create (suspend);                    {????????????????}
end;procedure Thread1.Execute ;                       {??????????????}
var
SysTime: TsystemTime;                             {API????}
intTime1: Integer;                                {???????????????????艟
intTime2: Integer;                                {???睫????????艟
intTime: Integer;                                 {???????????茣蕓
Timestep1: Integer;                               {?????????????艟
//strTime:string;                                 {?????葫????逸?????}begin   repeat        intTime1 :=SysTime.wMilliseconds;              {?????????????????莠???
        //testSocket.Active:=True;
        //testSocket.Socket.SendText('hello');
        //testSocket.Close;
        FormKSFClient.ClientSocket1.Address :=HostName;  {?靹??ⅹD}
        FormKSFClient.ClientSocket1.Port :=Port;      {?靹?????}
        FormKSFClient.ClientSocket1.Active := True;
                                {??????????????﨧???TCPSERVER ??Accepe????}
        //if FormKSFClient.ClientSocket1.cConnected=true then
          //FormKSFClient.TimerConnectout.Enabled:=false;      {?郢鋐???????????????????????????????????}        //strTime :=IntToStr(SysTime.wMilliseconds) ;      {?????????萓?????????
        FormKSFClient.ClientSocket1.Socket.SendText('client_??????????:success!'); {????????}
        //FormKSFClient.ClientSocket1.Socket.Close;
        intTime2 :=SysTime.wMilliseconds;           {?????睫??????莠???
        FormKSFClient.ClientSocket1.Close;       {????????}        if intTime2 > intTime1 then
        begin
           intTime := intTime2 - intTime1;          {???????????????艟
        end
        else
        begin
           intTime :=1000 -intTime1 + intTime2;     {???????????????艟
        end;
        Timestep1 := Timestep - intTime;
        {???????????????????????萓???????????????????}
        sleep(TimeStep1);                           {????????Timestep???艟   until Terminated;                                {?????睫??}
end;
end.