Abhishek K said the following on 8/24/2010 8:05 AM:
Hi
I am new to ZeroMQ
I am using a Client Server Model in Python.
This is the basic outline of the server code.
context=zmq.Context()
socket=context.socket(zmq.REP)
socket.bind('tcp://127.0.0.1:5555 <http://127.0.0.1:5555>')
while True:
message=socket.recv()
if message[:2]=="01":
##logic1
if messafe[:2]=="02":
## logic 2
socket.send(response)
I have 2 questions,
* I think the if the message processing logic takes lot of time,
how can I thread the process of processing the message (in Python)
* I need to send an options along with the message, currently I am
sending the options as the first 2 characters of the message.
(message[:]). Is there a better way provided by ZMQ.
Bear in mind that Python's default threading system isn't true
threading... Your first option might be to create separate threads with
different endpoints for different message types. You could maybe look at
Stackless python for the threading.
You could use the multipart message scheme for splitting the options
from the message, and then use a lookup table to decide what function to
call to process the second half of the message.
handlers = {
'01' : handle01
, '02': handle02
...
}
def handle01(msg):
...
def handle02(msg):
...
main():
...
msg = sock.recv()
prefix = msg[:2]
if not prefix in handlers:
error(msg)
else:
handlers[prefix](msg[2:])
- Oliver
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev