示例#1
0
class TcpConnection(object):
    def __init__(self, loop, socket, peeraddr):
        self.loop_ = loop
        self.socket_ = Socket(socket)
        self.peeraddr_ = peeraddr
        self.events_ = Events(self.socket_.getSocketFd(), kEevntRead)
        self.handle_ = Handle(self.events_)
        self.recvBuffer_ = ''
        self.writeBuffer_ = ''
        self.messageCb_ = defMessageCallback

    def tcpConnectionHandRead(self, reventFd, reventMask):
        assert reventFd == self.socket_.getSocketFd()
        data = ''
        length = 30
        while True:
            try:
                data = self.socket_.recv(length)
            except error, e:
                if e.errno == errno.EAGAIN:
                    break
            if len(data) == 0:
                self.loop_.delHandle(self.handle_)
                self.recvBuffer_ = ''
                break
            else:
                self.recvBuffer_ += data
        if len(self.recvBuffer_) != 0:
            self.messageCb_(self, self.recvBuffer_)
            self.recvBuffer_ = ''
示例#2
0
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# Copyright (c) 2018, raspberrypi.com.tw
# All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# test_lora_recv.py
# The simple test program for lora module to receive file
#
# Author : sosorry
# Date   : 10/03/2017
#
#!/usr/bin/python
# -*- coding: UTF-8 -*-

from Logger import Logger
from Socket import Socket
from LoRa import LoRa

rn = LoRa("RN2483")
socket = Socket(rn)

while True:
    data = socket.recv()

    if len(data) == 0:
        break;

socket.close()