• 大小: 6.37MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-11-14
  • 语言: 其他
  • 标签: Servlet  jsp  java  web  

资源简介

1. Websocket 编程,包括基于Tomcat8的文本和二进制读写,和浏览器端的编程 2. 提供贪吃蛇案例,包括服务端程序和网页端,服务端是控制蛇运动方向的 3. 提供嵌入式端能过Websocket控制灯亮度,嵌入式代码另外上传

资源截图

代码片段和文件信息

package com.iweb.socket;

import java.util.HashMap;
import java.util.Map;

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

@ServerEndpoint(“/websocket/light“)
public class LightServer {

private static Map sessionMap = new HashMap();

private static int preDi;

@OnOpen
public void onOpen(){
//System.out.println(“WEBopen“);
}

@OnClose
public void onClose(){
//System.out.println(“WEBCLOSE“);
}

@OnMessage
public void onMessage(Session session String msg){
//System.out.println(“received message: “ + msg + “ session id: “ + session.getId() + “ this: “ + this);
System.out.println(“received message on light: “ + msg);
int di = Integer.parseInt(msg); //0~255:亮度调节 -1:嵌入式端发来请求
if(di == preDi){
return;
}
if(session.isOpen()){
Session waitCommandSession = sessionMap.get(“waitCommand“);
try {
if(di >= 0){//控制页面发来的
try{
if(waitCommandSession == null){
session.getBasicRemote().sendText(“目的地找不到!“);
}else{
if(waitCommandSession.isOpen()){
waitCommandSession.getBasicRemote().sendText(di+““);
preDi = di;
}
}
}catch(Exception e){
e.printStackTrace();
}
}else{//-1
if(waitCommandSession != null && waitCommandSession.isOpen()){
waitCommandSession.close();
}
sessionMap.put(“waitCommand“ session);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}


}

评论

共有 条评论