关于websocket

两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket

1.tomcat的方式需要tomcat 7.x,JEE7的支持。

2.spring与websocket整合需要spring 4.x,并且使用了socketjs,对不支持websocket的浏览器可以模拟websocket使用

https://www.jb51.net/article/144601.htm

本文使用第一种方式:

@ServerEndpoint("/imserver/evaluate")

里面需要注意的是spring是单例模式,每次建立连接都生成一个新的对象,但是spring是单例模式,里面如果是注入其他业务对象,必须是静态注入,防止报空

https://blog.youkuaiyun.com/Programmer__Wang/article/details/88538993

将业务对象或者@Autowired对象以静态方式注入,加异步限制。

每个socket的onMessage只有回调完成,才能继续下一次请求。

建议连接就是连接,实现用api实现,restful接口

 

下面是一个使用 Python 的 `websocket` 库来创建 WebSocket 服务器客户端的示例代码: WebSocket 服务器端代码: ```python import asyncio import websockets # 处理接收到的消息 async def handle_message(websocket, message): # 在这里对接收到的消息进行处理修改 modified_message = modify_message(message) # 发送修改后的消息回客户端 await websocket.send(modified_message) # WebSocket 连接处理 async def handle_connection(websocket, path): try: while True: # 接收客户端发送的消息 message = await websocket.recv() # 处理接收到的消息 await handle_message(websocket, message) except websockets.exceptions.ConnectionClosedOK: pass # 启动 WebSocket 服务器 start_server = websockets.serve(handle_connection, 'localhost', 8765) # 运行事件循环 asyncio.get_event_loop().run_until_complete(start_server) asyncio.get_event_loop().run_forever() ``` WebSocket 客户端代码: ```python import asyncio import websockets # 处理接收到的消息 async def handle_message(message): # 在这里对接收到的消息进行处理修改 modified_message = modify_message(message) # 发送修改后的消息回服务器 async with websockets.connect('ws://localhost:8765') as websocket: await websocket.send(modified_message) response = await websocket.recv() print(response) # 运行客户端 asyncio.get_event_loop().run_until_complete(handle_message("Hello, server!")) ``` 以上示例中,WebSocket 服务器通过 `websockets.serve()` 方法创建,并使用 `handle_connection()` 函数处理客户端的连接消息。在服务器端的 `handle_message()` 函数中,你可以对接收到的消息进行处理修改,并使用 `websocket.send()` 方法将修改后的消息发送回客户端。 WebSocket 客户端通过 `websockets.connect()` 方法连接到服务器,并使用 `handle_message()` 函数处理接收到的消息。在客户端的 `handle_message()` 函数中,你可以对接收到的消息进行处理修改,并使用 `websocket.send()` 方法将修改后的消息发送回服务器。 请根据你的具体需求技术栈对代码进行调整扩展。注意,以上代码仅为示例,实际使用时需要进行适当的错误处理数据验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值