Compare commits

..

No commits in common. 'a2eb09edd167bb33ae46cce4a67512eac9b2f8fd' and 'da179589d78a44e93d35af7c74ebc89c47aa2019' have entirely different histories.

  1. 6
      README.md
  2. 22
      src/main/java/com/example/demo/RemoteOperation.java
  3. 27
      src/main/java/com/example/demo/WebSocketController.java
  4. 9
      src/main/java/com/example/demo/WebSocketServer.java

@ -6,10 +6,4 @@
访问Android访问地址为ws://ip:port/websocket 访问Android访问地址为ws://ip:port/websocket
## 分支master
可以运行的业务
## 分支dev
重构业务

@ -0,0 +1,22 @@
package com.example.demo;
public class RemoteOperation {
long vmc_no;
String operation;
public long getVmc_no() {
return vmc_no;
}
public void setVmc_no(long vmc_no) {
this.vmc_no = vmc_no;
}
public String getOperation() {
return operation;
}
public void setOperation(String operation) {
this.operation = operation;
}
}

@ -0,0 +1,27 @@
package com.example.demo;
import com.google.gson.Gson;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class WebSocketController {
// @RequestMapping(value = "/operation/{vmc}/{cmd}")
// public String remote(@PathVariable("vmc") long vmc, @PathVariable("cmd") String cmd) {
// System.out.print("remote");
// RemoteOperation operation = new RemoteOperation();
// operation.setVmc_no(vmc);
// operation.setOperation(cmd);
// String message = new Gson().toJson(operation);
// System.out.println("message in json is :" + message);
// return WebSocketServer.sendMessage(message, vmc);
// }
// @RequestMapping(value = "/test")
// public String test() {
// System.out.print("test");
// return "hello world";
// }
}

@ -9,14 +9,13 @@ import javax.websocket.OnClose;
import javax.websocket.OnMessage; import javax.websocket.OnMessage;
import javax.websocket.OnOpen; import javax.websocket.OnOpen;
import javax.websocket.Session; import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint; import javax.websocket.server.ServerEndpoint;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
@ServerEndpoint("/ws/{userId}") // 客户端URI访问的路径 @ServerEndpoint("/websocket") // 客户端URI访问的路径
@Component @Component
public class WebSocketServer { public class WebSocketServer {
@ -29,10 +28,10 @@ public class WebSocketServer {
private Session session; private Session session;
@OnOpen @OnOpen
public void onOpen(Session session, @PathParam("userId") String userId) { public void onOpen(Session session) {
this.session = session; this.session = session;
System.out.println(session.getId() + ":建立连接:" + userId); System.out.println(session.getId() + ":建立连接");
// 添加socket // 添加socket
addSocket(session); addSocket(session);
} }
@ -41,7 +40,7 @@ public class WebSocketServer {
public void onClose() { public void onClose() {
Session session = this.session; Session session = this.session;
String room = roomList.get(session.getId()); String room = roomList.get(session.getId());
CopyOnWriteArrayList<Session> curRoom; CopyOnWriteArrayList<Session> curRoom;//= this.roomList.get(room);//获取对应房间的列表
if (room != null) { if (room != null) {
curRoom = rooms.get(room);//获取对应房间的列表 curRoom = rooms.get(room);//获取对应房间的列表
for (Session aCurRoom : curRoom) { for (Session aCurRoom : curRoom) {

Loading…
Cancel
Save