clientsocket的连接方式设置为阻塞方式,怎么收发数据呢?
能否给个简单的例子!非常感谢!
能否给个简单的例子!非常感谢!
解决方案 »
- DELPHI DLL对象的引出
- 请问我的简体程序已经转成繁体程序,请问服务器的数据库要变成繁体的吗。。不变可以吗,在繁体程序会出现乱码吗?
- ???com组件问题-在线等
- 如何格式化输出字符串???
- 请大家帮忙.在线等
- 如何在Access数据库中存入图像啊?
- 请教关于窗体保存的问题(在线等待)
- 如何设置RAVE报表在设计期间的横向打印设计界面
- "Exception EOleSysError in module QQ.EXE at 0002B7ED类没有注册"系统错误
- 几个极菜的问题:什么是win32,win31,和msdn,头戴钢盔,手持盾牌,等待回答
- 寻控件,急急!
- 读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.