import websocket
import time
import threading
SERVER_URL = "ws://192.168.1.208:7600/box/reader-"
def on_message(ws, message):
print(message)
def on_error(ws, error):
print(error)
def on_close(ws):
print("### closed ###")
def on_open(ws):
def send_trhead():
send_info = {
"store_id": "0001",
"msg_type":"pay_info",
"device_id": "device_001",
"pay_code": "ffe2sdfdf-8sdfew-sdfsdf-ijlkj",
"goods": [
"C004-SD343-234",
"D004-GE343-990",
"G004-X343-452"
]
}
while True:
time.sleep(5)
ws.send(json.dumps(send_info))
t = threading.Thread(target=send_trhead)
t.start()
def on_start(a):
time.sleep(a%20)
websocket.enableTrace(True)
ws = websocket.WebSocketApp(SERVER_URL + str(a),
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.on_open = on_open
ws.run_forever()
from threadpool import ThreadPool, makeRequests
if __name__ == "__main__":
init_logging()
pool = ThreadPool(5000)
test = list()
for ir in range(5000):
test.append(ir)
requests = makeRequests(on_start, test)
[pool.putRequest(req) for req in requests]
import time
import threading
SERVER_URL = "ws://192.168.1.208:7600/box/reader-"
def on_message(ws, message):
print(message)
def on_error(ws, error):
print(error)
def on_close(ws):
print("### closed ###")
def on_open(ws):
def send_trhead():
send_info = {
"store_id": "0001",
"msg_type":"pay_info",
"device_id": "device_001",
"pay_code": "ffe2sdfdf-8sdfew-sdfsdf-ijlkj",
"goods": [
"C004-SD343-234",
"D004-GE343-990",
"G004-X343-452"
]
}
while True:
time.sleep(5)
ws.send(json.dumps(send_info))
t = threading.Thread(target=send_trhead)
t.start()
def on_start(a):
time.sleep(a%20)
websocket.enableTrace(True)
ws = websocket.WebSocketApp(SERVER_URL + str(a),
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.on_open = on_open
ws.run_forever()
from threadpool import ThreadPool, makeRequests
if __name__ == "__main__":
init_logging()
pool = ThreadPool(5000)
test = list()
for ir in range(5000):
test.append(ir)
requests = makeRequests(on_start, test)
[pool.putRequest(req) for req in requests]
pool.wait()
同时5000个连接,每个连接5秒发一次数据
如果需用作socket client的测试,直接修改启动连接的函数为socket连接方式