板子是 armv7l架构 arm 32位衍生版本 oracle 只提供了jdk8 因此运行此项目时请使用jdk8 编译运行
一定要注入 ServerEndpointExporter
可以用@Configuration注入 也可以在Application.java中添加注解
本来为了安全是要在核心板上装nginx从而将端口转发出去的 暂时没找到 armv7l nginx
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
private static final Set<Session> list = new HashSet<>();
此list保存着所有session 如果 client 正常进行断开会通过
@OnClose
public void close(Session session){
list.remove(session);
}
进行自动删除 python 和 js(uniapp) 断开的代码如下
py
ws.close()
js
onUnload(() => uni.closeSocket())
@OnMessage
public void message( Session session){
}
@OnMessage可以获取当前的session
@OnMessage
public void message(byte[] msg Session sion){
list.forEach(s ->{
try {
s.getBasicRemote().sendBinary(ByteBuffer.wrap(msg));
// System.out.println("onMessage:"+ Arrays.toString(msg));
}catch (IOException i){
i.printStackTrace();
}
});
}
之后可以做相应处理