一、准备环境:
1.两套ubuntu 22.04的环境,
服务端(10.10.110.62),用户端(10.10.110.57)
2.环境中需要python3的编译环境
其实只要内核是linux操作系统都可以,现在开始装环境吧,超级简单,有手就行!
先登录到服务端后台,执行如下操作:
1.安装所需要的依赖包
pip install websocket-server websocket-client
二、构造脚本
2.在服务器端脚本如下:
websocket_simple_server.py
from websocket_server import WebsocketServer
def new_client(client, server):
print("New client connected: {}".format(client['id']))
def message_received(client, server, message):
print("Received message from client {}: {}".format(client['id'], message))
# Echo the message back to the client
server.send_message(client, "Echo: " + message)
def client_left(client, server):
print("Client disconnected: {}".format(client['id']))
# Create a new server instance on port 8888
server = WebsocketServer(port=8888, host='0.0.0.0') # 确保参数传递正确
server.set_fn_new_client(new_client)
server.set_fn_message_received(message_received)
server.set_fn_client_left(client_left)
print("WebSocket server started on port 8888")
server.run_forever()
在客户端脚本如下:
websocket_client_input.py
import websocket
import threading
def on_message(ws, message):
print("Received message: {}".format(message))
def on_error(ws, error):
print("Error: {}".format(error))
def on_close(ws):
print("Connection closed")
def on_open(ws):
print("Connected to server. You can start typing messages.")
while True:
message = input("Enter message to send (type 'exit' to quit): ")
if message.lower() == 'exit':
ws.close()
break
ws.send(message)
if __name__ == "__main__":
ws = websocket.WebSocketApp("ws://2.2.2.56:8888/", #改成服务器ip和端口
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.on_open = on_open
threading.Thread(target=ws.run_forever).start()
完成,现在开始运行代码!!
没有超时机制,大家可以无限的输入数据。
下一篇文章将告诉大家如何优化代码,实现超时、上传、下载等操作。
关注我 不错过!