clientsocket的连接方式设置为阻塞方式,怎么收发数据呢? clientsocket的连接方式设置为阻塞方式,怎么收发数据呢?能否给个简单的例子!非常感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unitclient;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp;type TMyThread =Class(Tthread) Protected Procedure FillEdit; Procedure Execute; override; private ls_fillStr :string; end; TForm1 = class(TForm) ClientSocket1: TClientSocket; Memo1: TMemo; Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin ClientSocket1.Socket.SendText('hello,i am 192.168.0.73');end;procedure TForm1.FormCreate(Sender: TObject);begin ClientSocket1.Active :=true;end;procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);begin ShowMessage('·þÎñÆ÷Á¬½Ó³É¹¦'); TMyThread.Create(false);end;{ TMyThread }procedure TMyThread.Execute;var theStream :TWinSocketStream; buf :array [0..99] of char;begin TheStream :=TWinSocketStream.Create(Form1.ClientSocket1.Socket,6000); try while (Not Terminated) and (Form1.ClientSocket1.Active) do begin FillChar(buf,100,0); if theStream.Read(buf,100) <>0 then; begin ls_fillStr :=buf; synchronize(FillEdit); end; end; finally theStream.Free; end;end;procedure TMyThread.FillEdit;begin Form1.Memo1.Lines.Add(ls_fillStr);end;end. VCL转OCX的问题? 一个弱弱的问题,请教了 关于文本加密、和防止文件考贝,请大家进来讨论一下,请大家给点意见 请问用html help workshop制作的chm文档怎么显示不了图片? rave 报表发行的问题 谁给我一个最新的fastreport??? TStream 怎么一个字节一个字节的读呢? 动态增加TListColumn时,当宽度=0,后面增加的就显示不出来(宽度>0)? 有谁知道Outlook Express的版本号在注册表的什么位置?(急) 13年了,到了技术还是管理的十字路口,怎么选择? 寻控件,急急! 读SQL SERVER 数据的显示问题(急。。。。。)
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp;type
TMyThread =Class(Tthread)
Protected
Procedure FillEdit;
Procedure Execute; override;
private
ls_fillStr :string;
end; TForm1 = class(TForm)
ClientSocket1: TClientSocket;
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText('hello,i am 192.168.0.73');
end;procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1.Active :=true;
end;procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage('·þÎñÆ÷Á¬½Ó³É¹¦');
TMyThread.Create(false);
end;{ TMyThread }procedure TMyThread.Execute;
var
theStream :TWinSocketStream;
buf :array [0..99] of char;
begin
TheStream :=TWinSocketStream.Create(Form1.ClientSocket1.Socket,6000);
try
while (Not Terminated) and (Form1.ClientSocket1.Active) do
begin
FillChar(buf,100,0);
if theStream.Read(buf,100) <>0 then;
begin
ls_fillStr :=buf;
synchronize(FillEdit);
end; end;
finally
theStream.Free;
end;end;procedure TMyThread.FillEdit;
begin
Form1.Memo1.Lines.Add(ls_fillStr);
end;end.