import json
|
import multiprocessing
|
import threading
|
import time
|
|
import zmq
|
|
|
def __create_server(context, index):
|
socket = context.socket(zmq.REP)
|
socket.bind(f"ipc://order_{index}.ipc")
|
print("绑定成功", index)
|
while True:
|
msg = socket.recv_json()
|
use_time = (time.time() - msg['time'])*1000
|
print(f"Got Msg({index}-{time.time()}): 耗时:{use_time}")
|
socket.send_string("SUCCESS")
|
|
|
def create_server():
|
context = zmq.Context()
|
for i in range(70):
|
threading.Thread(target=lambda: __create_server(context, i), daemon=True).start()
|
while True:
|
time.sleep(5)
|
|
|
socket_client_dict = {}
|
|
|
def send_data(context, i):
|
if i not in socket_client_dict:
|
socket = context.socket(zmq.REQ)
|
socket.connect(f"ipc://order_{i}.ipc")
|
socket_client_dict[i] = socket
|
print(f"开始发送消息({i}):")
|
socket_client_dict[i].send_json({'msg': i, "time": time.time()})
|
response = socket_client_dict[i].recv_string()
|
|
|
if __name__ == "__main__":
|
|
serverProcess = multiprocessing.Process(
|
target=create_server)
|
serverProcess.start()
|
|
time.sleep(5)
|
context = zmq.Context()
|
while True:
|
print("=======准备发送消息========")
|
for i in range(70):
|
threading.Thread(target=lambda: send_data(context, i), daemon=True).start()
|
time.sleep(5)
|
input()
|