Пример #1
0
 def encode(self, msg):
     if msg.receiverName:
         receiver = struct.pack('>III', msg.receiver.id, msg.receiver.remote, msg.receiver.time);
     else:
         receiver = struct.pack('>I'+str(len(msg.receiverName))+'s', len(msg.receiverName), msg.receiverName);
     sender = struct.pack('>III', msg.sender.id, msg.sender.remote, msg.sender.time);
     msgName = MsgFactory.getClassName(msg);
     msgName = struct.pack(('>I%ds' % len(msgName)), msgName);
     data = msg.encode();
     data = struct.pack(('>I%ds' % len(data)), data);
     alldata = '%s%s%s%s' % (receiver, sender, msgName, data);
     return struct.pack(('>I%ds' % len(alldata)), alldata);
Пример #2
0
 def run(self):  # override
     self.gameClock = time.time()
     while not self.isStop:
         currTime = time.time()
         deltaTime = currTime - self.gameClock
         if deltaTime > 0.0166666666667:  # 60FPS on server
             self.update(deltaTime)
             sendData = msg.encode(self.serialize())
             try:
                 self.conn.send(sendData)
             except:
                 print "game.py send data exception"
             self.gameClock = currTime
     self.conn.close()
Пример #3
0
 def broadcast(self, msg):
     print('broad cast' + msg)
     for addr in self.nameDict:
         print(addr)
         self.chat_Socket.sendto(msg.encode('utf-8'), addr)
Пример #4
0
def sendMsgToSock(sock, message):  # send msg to client socket
    try:
        sock.send(msg.encode(message))
    except:
        pass
Пример #5
0
 def encode(self, msg):
     data=''.join((struct.pack('>I'+str(len(x))+'s', len(x), x) for x in (MsgFactory.getClassName(msg), msg.encode())));
     return struct.pack('>I'+str(len(data))+'s', len(data)+4, data);