Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import os, sys, struct
- def read_message():
- text_length_bytes = sys.stdin.buffer.read(4)
- if len(text_length_bytes) == 0:
- sys.exit(0)
- # Unpack message length as 4 byte integer.
- text_length = struct.unpack('i', text_length_bytes)[0]
- # Read the text (JSON object) of the message.
- text = sys.stdin.buffer.read(text_length).decode('utf-8')
- return text
- def send_message(message):
- # Write message size.
- sys.stdout.buffer.write(struct.pack('I', len(message)))
- # Write the message itself.
- sys.stdout.buffer.write(bytes(message,'utf-8'))
- sys.stdout.flush()
- def main(arguments):
- sys.stderr.write("Started echo host\n")
- sys.stderr.flush()
- while True:
- message = read_message()
- if message:
- sys.stderr.write("Received message:"+message+"\n")
- sys.stderr.flush()
- send_message(message.strip())
- if __name__ == '__main__':
- sys.exit(main(sys.argv[1:]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement