Ejemplo n.º 1
0
    def connectionMade(self):
        client = Packet("CLIENT", self.__client)
        self.transport.write(json.dumps(client.__dict__) + "%")

        with open('../data/friends.json', 'r') as fp:
            friends = json.load(fp)
        friendsLine = json.dumps(friends)
        packets = Packet.pack("JSON", friendsLine)

        for packet in packets:
            data = json.dumps(packet.__dict__)
            self.transport.write(data + "%")
Ejemplo n.º 2
0
    def dataReceived(self, data):
        """
        As soon as any data is received, write it back.
        """
        packets = filter(None, data.split("%"))
        packets = [json.loads(packet) for packet in packets]
        for packet in packets:
            if packet["_header"] == "CLIENT":
                self._client = packet["_payload"]
            elif packet["_header"] == "JSON":
                self._buffer = self._buffer + packet["_payload"].rstrip()
                if self._buffer.endswith('}'):
                    friends = json.loads(self._buffer)
                    friends_u = update_db(friends, self._client)
                    friendsLine = json.dumps(friends_u)
                    packets = Packet.pack("JSON", friendsLine)

                    for packet in packets:
                        data = json.dumps(packet.__dict__)
                        self.transport.write(data + "%")

                    self._buffer = ""
Ejemplo n.º 3
0
import socket
from packet import Packet

sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#sock.connect(("68.62.87.97",48011))
sock.connect(("127.0.0.1",8022))
data1={}
data2={}
data1["request_type"]=3
data1["room"]="Hall"
msg1=Packet.pack(data1)
data2["request_type"]=4
data2["target"]="room"
data2["room"]="Hall"
data2["message"]="hello world"
msg2=Packet.pack(data2)
sock.send("%8s"%(hex(len(msg1))[2:]));
sock.send(msg1)
sock.send("%8s"%(hex(len(msg2))[2:]));
sock.send(msg2)
while(1):
	head = sock.recv(8);
	if head:
		size=int("0x"+head.strip(),16);
		data = sock.recv(size);
		ary=Packet.unpack(data)
		print ary