Created
August 16, 2011 13:33
-
-
Save zoranzaric/1149075 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import zmq | |
import message_pb2 | |
import time | |
import uuid | |
import struct | |
context = zmq.Context() | |
socket = context.socket(zmq.REQ) | |
socket.connect("tcp://127.0.0.1:5000") | |
u = uuid.uuid4() | |
u_least, u_most = struct.unpack('>qq', u.get_bytes()) | |
message = message_pb2.Message() | |
#message.uuid_least_significant = u_least | |
#message.uuid_most_significant = u_most | |
message.uuid_least_significant = 0 | |
message.uuid_most_significant = 0 | |
message.type = message.PING | |
message.time_stamp = int(time.time()) | |
message.payload = "Foo" | |
socket.send(message.SerializeToString()) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
message Message { | |
enum MessageType { | |
PING = 0; | |
GET_PEER_LIST = 1; | |
GET_COMPLETE_PEER_LIST = 2; | |
REPORT_MONITORING_INFORMATION = 3; | |
REGISTER_STREAM = 4; | |
REGISTER_CHILD = 5; | |
} | |
required fixed64 uuid_least_significant = 1; | |
required fixed64 uuid_most_significant = 2; | |
required MessageType type = 3; | |
required int64 time_stamp = 4; | |
required bytes payload = 5; | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Generated by the protocol buffer compiler. DO NOT EDIT! | |
from google.protobuf import descriptor | |
from google.protobuf import message | |
from google.protobuf import reflection | |
from google.protobuf import descriptor_pb2 | |
# @@protoc_insertion_point(imports) | |
DESCRIPTOR = descriptor.FileDescriptor( | |
name='message.proto', | |
package='', | |
serialized_pb='\n\rmessage.proto\"\xa6\x02\n\x07Message\x12\x1e\n\x16uuid_least_significant\x18\x01 \x02(\x06\x12\x1d\n\x15uuid_most_significant\x18\x02 \x02(\x06\x12\"\n\x04type\x18\x03 \x02(\x0e\x32\x14.Message.MessageType\x12\x12\n\ntime_stamp\x18\x04 \x02(\x03\x12\x0f\n\x07payload\x18\x05 \x02(\x0c\"\x92\x01\n\x0bMessageType\x12\x08\n\x04PING\x10\x00\x12\x11\n\rGET_PEER_LIST\x10\x01\x12\x1a\n\x16GET_COMPLETE_PEER_LIST\x10\x02\x12!\n\x1dREPORT_MONITORING_INFORMATION\x10\x03\x12\x13\n\x0fREGISTER_STREAM\x10\x04\x12\x12\n\x0eREGISTER_CHILD\x10\x05') | |
_MESSAGE_MESSAGETYPE = descriptor.EnumDescriptor( | |
name='MessageType', | |
full_name='Message.MessageType', | |
filename=None, | |
file=DESCRIPTOR, | |
values=[ | |
descriptor.EnumValueDescriptor( | |
name='PING', index=0, number=0, | |
options=None, | |
type=None), | |
descriptor.EnumValueDescriptor( | |
name='GET_PEER_LIST', index=1, number=1, | |
options=None, | |
type=None), | |
descriptor.EnumValueDescriptor( | |
name='GET_COMPLETE_PEER_LIST', index=2, number=2, | |
options=None, | |
type=None), | |
descriptor.EnumValueDescriptor( | |
name='REPORT_MONITORING_INFORMATION', index=3, number=3, | |
options=None, | |
type=None), | |
descriptor.EnumValueDescriptor( | |
name='REGISTER_STREAM', index=4, number=4, | |
options=None, | |
type=None), | |
descriptor.EnumValueDescriptor( | |
name='REGISTER_CHILD', index=5, number=5, | |
options=None, | |
type=None), | |
], | |
containing_type=None, | |
options=None, | |
serialized_start=166, | |
serialized_end=312, | |
) | |
_MESSAGE = descriptor.Descriptor( | |
name='Message', | |
full_name='Message', | |
filename=None, | |
file=DESCRIPTOR, | |
containing_type=None, | |
fields=[ | |
descriptor.FieldDescriptor( | |
name='uuid_least_significant', full_name='Message.uuid_least_significant', index=0, | |
number=1, type=6, cpp_type=4, label=2, | |
has_default_value=False, default_value=0, | |
message_type=None, enum_type=None, containing_type=None, | |
is_extension=False, extension_scope=None, | |
options=None), | |
descriptor.FieldDescriptor( | |
name='uuid_most_significant', full_name='Message.uuid_most_significant', index=1, | |
number=2, type=6, cpp_type=4, label=2, | |
has_default_value=False, default_value=0, | |
message_type=None, enum_type=None, containing_type=None, | |
is_extension=False, extension_scope=None, | |
options=None), | |
descriptor.FieldDescriptor( | |
name='type', full_name='Message.type', index=2, | |
number=3, type=14, cpp_type=8, label=2, | |
has_default_value=False, default_value=0, | |
message_type=None, enum_type=None, containing_type=None, | |
is_extension=False, extension_scope=None, | |
options=None), | |
descriptor.FieldDescriptor( | |
name='time_stamp', full_name='Message.time_stamp', index=3, | |
number=4, type=3, cpp_type=2, label=2, | |
has_default_value=False, default_value=0, | |
message_type=None, enum_type=None, containing_type=None, | |
is_extension=False, extension_scope=None, | |
options=None), | |
descriptor.FieldDescriptor( | |
name='payload', full_name='Message.payload', index=4, | |
number=5, type=12, cpp_type=9, label=2, | |
has_default_value=False, default_value="", | |
message_type=None, enum_type=None, containing_type=None, | |
is_extension=False, extension_scope=None, | |
options=None), | |
], | |
extensions=[ | |
], | |
nested_types=[], | |
enum_types=[ | |
_MESSAGE_MESSAGETYPE, | |
], | |
options=None, | |
is_extendable=False, | |
extension_ranges=[], | |
serialized_start=18, | |
serialized_end=312, | |
) | |
_MESSAGE.fields_by_name['type'].enum_type = _MESSAGE_MESSAGETYPE | |
_MESSAGE_MESSAGETYPE.containing_type = _MESSAGE; | |
DESCRIPTOR.message_types_by_name['Message'] = _MESSAGE | |
class Message(message.Message): | |
__metaclass__ = reflection.GeneratedProtocolMessageType | |
DESCRIPTOR = _MESSAGE | |
# @@protoc_insertion_point(class_scope:Message) | |
# @@protoc_insertion_point(module_scope) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
protobuf==2.4.1 | |
pyzmq==2.1.7 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import zmq | |
import message_pb2 | |
context = zmq.Context(1) | |
socket = context.socket(zmq.REP) | |
socket.bind("tcp://127.0.0.1:5000") | |
message = message_pb2.Message() | |
message.ParseFromString(socket.recv()) | |
print message | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment