Compare commits

...

5 Commits

Author SHA1 Message Date
dds a2eb09edd1 完善信令 5 years ago
dds 1062083362 Revert "first blood" 5 years ago
dds aea7609e9c Revert "first blood" 5 years ago
dds 7199b040ca 重构 5 years ago
dds 771d75ad5c first blood 5 years ago
  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,4 +6,10 @@
访问Android访问地址为ws://ip:port/websocket
## 分支master
可以运行的业务
## 分支dev
重构业务

@ -1,22 +0,0 @@
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;
}
}

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

Loading…
Cancel
Save