def _on_workers_reload_over(self): """ 当workers reload之后的操作 需要给master通知,让master替换掉workers :return: """ if self.master_conn and self.master_conn.transport: box = Box(dict(cmd=constants.CMD_MASTER_REPLACE_WORKERS)) self.master_conn.transport.write(box.pack())
def _on_workers_reload_over(self): """ 当workers reload之后的操作 需要给master通知,让master替换掉workers :return: """ if self.master_conn and self.master_conn.transport: box = Box(dict( cmd=constants.CMD_MASTER_REPLACE_WORKERS )) self.master_conn.transport.write(box.pack())
def spawn_read(): message = self.stream.read_with_checker(Box().check) # print "message, len: %s, content: %r" % (len(message), message) if message: req_box = Box(message) rsp_box = Box() print rsp_box rsp_box.cmd = req_box.cmd rsp_box.ret = 1000 rsp_box.version = 333 rsp_box.body = 'ok' buf = rsp_box.pack() self.stream.write(buf[:10]) self.stream.write(buf[10:]) if self.stream.closed(): print 'client closed' # 说明客户端断掉链接了 return
def index(request): print request.box box = Box() # box = request.box box.ret = 100 box.body = "wokao" * 1000 print box.header_len print box.packet_len print box # request.write(box.pack()) # return box.version = 219 box.flag = 199 buf = box.pack() print '1' request.write(buf[:10]) time.sleep(2) print '2' request.write(buf[10:])
# -*- coding: utf-8 -*- from netkit.box import Box box1 = Box() print box1 print repr(box1.pack()) box2 = Box(box1.pack()) print box2
import socket logger = logging.getLogger('netkit') logger.addHandler(logging.StreamHandler()) logger.setLevel(logging.DEBUG) address = ('127.0.0.1', 7777) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(address) stream = Stream(s) box = Box() box.cmd = 32 box.body = '我爱你' stream.write(box.pack()) while True: # 阻塞 buf = stream.read_with_checker(Box().unpack) if buf: print Box(buf) if stream.closed(): print 'server closed' break s.close()
# -*- 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
# -*- 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
# -*- 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
# -*- 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