Administrator
2024-02-27 cf1022bf85694958fcab3f6d8be5bda19a872d33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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_string()
        print(f"Got Msg({index}-{time.time()}): {msg}")
        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_string(json.dumps({'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()