线程接收和发送
来源:互联网 发布:胡楚靓的淘宝店假货 编辑:程序博客网 时间:2024/06/05 16:48
客户端发送线程:
Procedure TThreadSend.Execute;
Begin
While true Do
Begin
Sleep (10) ;
If Not Terminated Then
Begin
If assigned (CalTwoDimentionRiverNet) Then
Begin
Synchronize (SendMsg) ;
End;
End; //if
End; //while
End;
客户端接收线程:
Procedure TThreadRev.Execute;
Var
strpacklen : String;
PackLen : Integer;
Begin
While true Do
Begin
If Not Terminated Then
Begin
If assigned (CalTwoDimentionRiverNet) Then
Begin
If Not CalTwoDimentionRiverNet.Client.Connected Then
Begin
sleep (10) ;
Continue;
End;
strpacklen := CalTwoDimentionRiverNet.Client.ReadString (2) ;
//消息长度
PackLen := RevertInteger (strpacklen) ;
CalTwoDimentionRiverNet.RevMsg := CalTwoDimentionRiverNet.Client.ReadString (PackLen-2) ;
Synchronize (DecodeMsg) ;
End; // if assigned ( GPSDevice ) then
End; // if not Terminated then
End; //while
End;
服务器端接收是通过Server.OnExecute事件:
Procedure TLogicalRelation.ServerExecute (AThread : TIdPeerThread) ;
Var
strpacklen : String;
PackLen : Integer;
Begin
strpacklen := AThread.Connection.ReadString (2) ;
//消息长度
PackLen := RevertInteger (strpacklen) ;
TempRevMsg := AThread.Connection.ReadString (PackLen-2) ;
TempClientIP := AThread.Connection.Socket.Binding.PeerIP;
AThread.Synchronize (DecodeMsg) ;
End;
服务器端发送同客户端发送
Procedure TThreadSend.Execute;
Begin
While true Do
Begin
Sleep (10) ;
If Not Terminated Then
Begin
If assigned (CalTwoDimentionRiverNet) Then
Begin
Synchronize (SendMsg) ;
End;
End; //if
End; //while
End;
客户端接收线程:
Procedure TThreadRev.Execute;
Var
strpacklen : String;
PackLen : Integer;
Begin
While true Do
Begin
If Not Terminated Then
Begin
If assigned (CalTwoDimentionRiverNet) Then
Begin
If Not CalTwoDimentionRiverNet.Client.Connected Then
Begin
sleep (10) ;
Continue;
End;
strpacklen := CalTwoDimentionRiverNet.Client.ReadString (2) ;
//消息长度
PackLen := RevertInteger (strpacklen) ;
CalTwoDimentionRiverNet.RevMsg := CalTwoDimentionRiverNet.Client.ReadString (PackLen-2) ;
Synchronize (DecodeMsg) ;
End; // if assigned ( GPSDevice ) then
End; // if not Terminated then
End; //while
End;
服务器端接收是通过Server.OnExecute事件:
Procedure TLogicalRelation.ServerExecute (AThread : TIdPeerThread) ;
Var
strpacklen : String;
PackLen : Integer;
Begin
strpacklen := AThread.Connection.ReadString (2) ;
//消息长度
PackLen := RevertInteger (strpacklen) ;
TempRevMsg := AThread.Connection.ReadString (PackLen-2) ;
TempClientIP := AThread.Connection.Socket.Binding.PeerIP;
AThread.Synchronize (DecodeMsg) ;
End;
服务器端发送同客户端发送
阅读全文
0 0
- 线程接收和发送
- UDP接收和发送线程 实际应用案例
- 接收和发送广播
- 接收和发送广播
- 邮件发送和接收
- 数据发送和接收
- JavaMail发送和接收
- UDP 发送和接收
- 接收和发送短信
- 接收和发送缓冲区
- netlink发送和接收
- 接收和发送短信
- 接收和发送短信
- Jmail发送和接收邮件
- Jmail发送和接收邮件
- JavaMail发送和接收邮件
- C#邮件发送和接收
- 广播的发送和接收
- eclipse详细安装教程与环境变量设置
- Servlet从服务器下载文件
- Leetcode——19. Remove Nth Node From End of List
- ubuntu: 查看 内存
- 面试题17:合并两个排序的链表
- 线程接收和发送
- mysql中的共享锁和排他锁
- 登录验证码实现逻辑
- 利用Sphinx编写文档
- Java中this和super的用法
- 01进制之间的概述与转换(二,八,十,十六进制)
- java面向对象-匿名对象
- 欢迎使用CSDN-markdown编辑器
- Python序列简介