Esempio n. 1
0
    def dataReceived(self, data):
        """
        当数据接受到时
        :param data:
        :return:
        """
        self._read_buffer += data

        while self._read_buffer:
            # 因为box后面还是要用的
            box = Box()
            ret = box.unpack(self._read_buffer)
            if ret == 0:
                # 说明要继续收
                return
            elif ret > 0:
                # 收好了
                self._read_buffer = self._read_buffer[ret:]
                safe_call(self._on_read_complete, box)
                continue
            else:
                # 数据已经混乱了,全部丢弃
                logger.error(
                    "buffer invalid. proxy: %s, ret: %d, read_buffer: %r", self.factory.proxy, ret, self._read_buffer
                )
                self._read_buffer = ""
                return
Esempio n. 2
0
    def dataReceived(self, data):
        """
        当数据接受到时
        :param data:
        :return:
        """
        self._read_buffer += data

        while self._read_buffer:
            # 因为box后面还是要用的
            box = Box()
            ret = box.unpack(self._read_buffer)
            if ret == 0:
                # 说明要继续收
                return
            elif ret > 0:
                # 收好了
                self._read_buffer = self._read_buffer[ret:]
                safe_call(self._on_read_complete, box)
                continue
            else:
                # 数据已经混乱了,全部丢弃
                logger.error('buffer invalid. ret: %d, read_buffer: %r', ret,
                             self._read_buffer)
                self._read_buffer = ''
                return
Esempio n. 3
0
# -*- coding: utf-8 -*-

import sys

sys.path.insert(0, '../../')

import socket
from netkit.box import Box

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

box = Box()
box.cmd = 1
# box.cmd = 101
box.body = '我爱你'

sock.sendto(box.pack(), ('127.0.0.1', 9900))

while True:
    data, address = sock.recvfrom(1000)

    recv_box = Box()
    recv_box.unpack(data)

    print recv_box
Esempio n. 4
0
# -*- coding: utf-8 -*-

from netkit.box import Box

box1 = Box()
box1.body = '我爱你'
print box1
print repr(box1.pack())
print box1.body

buf = box1.pack()

box2 = Box()
for i in range(0, len(buf) + 1):
    tmp_buf = buf[0:i]

    if box2.unpack(tmp_buf) > 0:
        print box2
        break
Esempio n. 5
0
# -*- coding: utf-8 -*-

from netkit.box import Box


box1 = Box()
box1.values = dict(uin=1, name=u'我')
print box1
print repr(box1.pack())
print box1.body

buf = box1.pack()

box2 = Box()
for i in range(0, len(buf)+1):
    tmp_buf = buf[0:i]

    if box2.unpack(tmp_buf) > 0:
        print box2
        print box2.values
        break
Esempio n. 6
0
# -*- coding: utf-8 -*-

from netkit.box import Box


box1 = Box()
box1.body = '我爱你'
print box1
print repr(box1.pack())
print box1.body

box2 = Box()
box2.unpack(box1.pack())
print box2
print box2.body
print box2.magic