线程接收和发送

客户端发送线程:
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;
服务器端发送同客户端发送
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值