functionality before post topics
This commit is contained in:
parent
7685c36677
commit
5c488235d3
|
|
@ -0,0 +1,26 @@
|
||||||
|
import sys
|
||||||
|
import zmq
|
||||||
|
|
||||||
|
SERVER_ADDR = 'localhost'
|
||||||
|
SERVER_PORT = int('5556')
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
port = int(sys.argv[1])
|
||||||
|
|
||||||
|
# Socket to talk to server
|
||||||
|
context = zmq.Context()
|
||||||
|
socket = context.socket(zmq.SUB)
|
||||||
|
|
||||||
|
print(f"Collecting updates from time server at tcp://localhost:{SERVER_PORT}")
|
||||||
|
socket.connect(f"tcp://{SERVER_ADDR}:{SERVER_PORT}")
|
||||||
|
|
||||||
|
topicfilter = 'POST'
|
||||||
|
socket.setsockopt_string(zmq.SUBSCRIBE, topicfilter)
|
||||||
|
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
incoming = socket.recv_string()
|
||||||
|
topic, message = incoming.split(';')
|
||||||
|
print(f'New post from user ' + message)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print('Closing listener...')
|
||||||
|
break
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
from xmlrpc.client import ServerProxy
|
||||||
|
import sys
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
username = input('Username: ')
|
||||||
|
with ServerProxy('http://localhost:9000') as proxy:
|
||||||
|
while True:
|
||||||
|
message = input('Message: ')
|
||||||
|
remote_call = proxy.post(message, username)
|
||||||
|
print(remote_call)
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
import zmq
|
||||||
|
import sys
|
||||||
|
from xmlrpc.server import SimpleXMLRPCServer
|
||||||
|
|
||||||
|
PUB_PORT = int('5556')
|
||||||
|
RPC_PORT = int('9000')
|
||||||
|
POST_TOPIC = 'POST'
|
||||||
|
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
PUB_PORT = int(sys.argv[1])
|
||||||
|
|
||||||
|
context = zmq.Context()
|
||||||
|
socket = context.socket(zmq.PUB)
|
||||||
|
socket.bind(f"tcp://*:{PUB_PORT}")
|
||||||
|
|
||||||
|
def post(msg, user):
|
||||||
|
socket.send_string(f"{POST_TOPIC};{user}: {msg}")
|
||||||
|
print(f"Published post {user}: {msg}")
|
||||||
|
return 'Success'
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
server = SimpleXMLRPCServer(('localhost', RPC_PORT), logRequests=True)
|
||||||
|
server.register_function(post, 'post')
|
||||||
|
try:
|
||||||
|
print("Use Control-C to exit")
|
||||||
|
server.serve_forever()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print("Exiting")
|
||||||
Loading…
Reference in New Issue