import json
|
import multiprocessing
|
import threading
|
import time
|
from huaxin_client import l2_data_manager
|
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}):")
|
datas = []
|
max_count = 500
|
if i % 3 == 0:
|
max_count = 100
|
for j in range(max_count):
|
datas.append(('002510', 4.07, 148700, '1', '2', 95433140, 2012, 9207862, 9207862, 'A', 1708998873.1507974, 0))
|
|
socket_client_dict[i].send_json({'data': datas, "time": time.time()})
|
response = socket_client_dict[i].recv_string()
|
|
|
if __name__ == "__main__1":
|
|
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()
|
|
|
if __name__ == "__main__":
|
l2_data_manager.test()
|
|
pass
|