线程的问题

TTLOVEYOU3344 2006-12-06 10:45:21
现在有服务器向客户端连续发送N条消息,我在客户端要开启线程来接收,请大家给个客户端开启线程,接受消息的例子啊,小弟感激不尽!!
...全文
229 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxc028 2006-12-20
  • 打赏
  • 举报
回复
还要详细就只有帮你写一个了
TTLOVEYOU3344 2006-12-12
  • 打赏
  • 举报
回复
大家能不能帮不忙,写详细一点,比如调用,谢谢了!!
xxc028 2006-12-08
  • 打赏
  • 举报
回复
我有一个 UDP的接收消息的线程 ,其他协议的也是这个原理 都差不多.具体代码如下:
TClientHandleThread = class(TThread)
private
CB: string;
procedure HandleInput;
protected
procedure Execute; override;

end;

procedure TClientHandleThread.Execute;
begin
inherited;
while not Terminated do
begin
try
Application.ProcessMessages;
CB := UDPMainForm.UDPClient.ReceiveString();
Synchronize(HandleInput);
except
end;
end;
end;

procedure TClientHandleThread.HandleInput;
begin
if Trim(CB) <> '' then
UDPMainForm.mmoRecive.Lines.Add(FormatDateTime('yyyy-mm-dd hh:mm:ss', Now)
+',收到服务器发来的消息:' +cb);
end;
TTLOVEYOU3344 2006-12-06
  • 打赏
  • 举报
回复
TCP/IP协议,用的是Indy里的TCPCLIENT
luxuewei5214 2006-12-06
  • 打赏
  • 举报
回复
使用什么协议啊,看看Indy里的控件有你需要的;另外就是开个线程监视端口而已
hangzhou_hammer 2006-12-06
  • 打赏
  • 举报
回复
jiefen
dabaicai 2006-12-06
  • 打赏
  • 举报
回复
procedure TRecThread.Execute;
var
ires,i,j : integer;
recMsg : TMyMsg;
stmp,tmpName,tmpRealName,tmpDept,pointDept : String;
sNode,ss : TTreeNode;
begin
{ Place thread code here }
FreeOnTerminate := True;

while ((not Terminated) and DM.tcpLog.Connected) do
begin
ires := DM.tcpLog.ReadFromStack; //........
if ires > 0 then
begin
DM.tcpLog.ReadBuffer(recMsg,sizeof(recMsg));
...
接收的方法很多,自己选择

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧