首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

新手求教,Twsockt的一个小疑点

2013-07-09 
新手求教,Twsockt的一个小问题procedure TForm1.Button2Click(Sender: TObject)beginWSocket1: TWsocket

新手求教,Twsockt的一个小问题
procedure TForm1.Button2Click(Sender: TObject);
begin
    WSocket1:= TWsocket.Create(nil);
    WSocket1.Proto           :='tcp';
    WSocket1.Addr            :='192.168.2.103';
    WSocket1.Port            :='3399';
    WSocket1.LineMode        :=false;
    WSocket1.Connect;
    sleep(10000) ;
    WSocket1.sendstr ('34243432');
end;
为什么连接和发送写在同一个click事件里就会出错,我加个等待连接的时间也不行,而把发送写在另一个click事件里就可以成功发送数据
TCP/IP TWsocket
[解决办法]
试下下面的代码:


procedure TForm2.Button1Click(Sender: TObject);
var
  n: DWORD;
begin
  WSocket1:= TWsocket.Create(nil);
  WSocket1.Proto           :='tcp';
  WSocket1.Addr            :='192.168.2.103';
  WSocket1.Port            :='3399';
  WSocket1.LineMode        :=false;
  WSocket1.Connect;

  n := GetTickCount;
  while (WSocket1.State <> wsConnected) and ((GetTickCount - n) <= 10000) do//等待10秒,直到WSocket1的状态为连接成功状态
  begin
    Sleep(100);
    Application.ProcessMessages;
  end;

  if WSocket1.State = wsConnected then
    WSocket1.sendstr ('34243432');
end;

热点排行