永发信息网

如何看javawebsocket源码

答案:2  悬赏:0  手机版
解决时间 2021-02-03 16:25
  • 提问者网友:玫瑰园
  • 2021-02-03 00:52
如何看javawebsocket源码
最佳答案
  • 五星知识达人网友:爱难随人意
  • 2021-02-03 02:23
import java.io.IOException;
import java.io.InputStream;

import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/log")
public class LogWebSocketHandle {

private Process process;
private InputStream inputStream;


@OnOpen
public void onOpen(Session session) {
try {
// 执行tail -f命令
process = Runtime.getRuntime().exec("tail -f /var/log/syslog");
inputStream = process.getInputStream();

// 一定要启动新的线程,防止InputStream阻塞处理WebSocket的线程
TailLogThread thread = new TailLogThread(inputStream, session);
thread.start();
} catch (IOException e) {
e.printStackTrace();
}
}


@OnClose
public void onClose() {
try {
if(inputStream != null)
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
if(process != null)
process.destroy();
}

@OnError
public void onError(Throwable thr) {
thr.printStackTrace();
}
}
全部回答
  • 1楼网友:廢物販賣機
  • 2021-02-03 03:01
不知道具体需求是什么。如果用java web作为服务端,那可以在web项目启动的时候,增加socket监听服务。在web项目的listener增加启动类。 或者干脆使用如netty这样的io框架。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯