This commit is contained in:
@@ -96,18 +96,6 @@ public interface WebSocketDesc {
|
||||
public void close();
|
||||
|
||||
|
||||
//获取当前WebSocket所属的WebSocketGroup, 不会为null
|
||||
/* protected */ WebSocketGroup getWebSocketGroup();
|
||||
|
||||
|
||||
//获取指定groupid的WebSocketGroup, 没有返回null
|
||||
/* protected */ WebSocketGroup getWebSocketGroup(Serializable groupid);
|
||||
|
||||
|
||||
//获取当前进程节点所有在线的WebSocketGroup
|
||||
/* protected */ Collection<WebSocketGroup> getWebSocketGroups();
|
||||
|
||||
|
||||
//获取在线用户的节点地址列表
|
||||
/* protected */ Collection<InetSocketAddress> getOnlineNodes(Serializable groupid);
|
||||
|
||||
@@ -138,7 +126,7 @@ public interface WebSocketDesc {
|
||||
|
||||
default void onPong(byte[] bytes) {
|
||||
}
|
||||
|
||||
|
||||
//接收二进制消息响应事件,可能会接收到二进制消息需要重写该方法
|
||||
default void onMessage(byte[] bytes) {
|
||||
}
|
||||
|
||||
@@ -59,11 +59,11 @@ public class ChatWebSocketServlet extends WebSocketServlet {
|
||||
icounter.incrementAndGet();
|
||||
counter.incrementAndGet();
|
||||
if (debug) System.out.println("收到消息: " + message);
|
||||
super.getWebSocketGroup().getWebSockets().forEach(x -> x.send(message));
|
||||
super.getWebSockets().forEach(x -> x.send(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected CompletableFuture<String> createGroupid() {
|
||||
protected CompletableFuture<String> createUserid() {
|
||||
return CompletableFuture.completedFuture("2");
|
||||
}
|
||||
|
||||
|
||||
@@ -80,31 +80,25 @@ public class VideoWebSocketServlet extends WebSocketServlet {
|
||||
}
|
||||
super.send(("{'type':'user_list','users':[" + sb + "]}").replace('\'', '"'));
|
||||
String msg = ("{'type':'discover_user','user':{'userid':'" + this.getSessionid() + "','username':'" + users.get(this.getSessionid()) + "'}}").replace('\'', '"');
|
||||
super.getWebSocketGroup().getWebSockets().filter(x -> x != this).forEach(x -> {
|
||||
x.send(msg);
|
||||
});
|
||||
super.broadcastMessage(msg);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Object text, boolean last) {
|
||||
//System.out.println("接收到消息: " + text);
|
||||
super.getWebSocketGroup().getWebSockets().filter(x -> x != this).forEach(x -> {
|
||||
x.send(text);
|
||||
});
|
||||
super.broadcastMessage(text, last);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClose(int code, String reason) {
|
||||
sessions.remove(this.getSessionid());
|
||||
String msg = ("{'type':'remove_user','user':{'userid':'" + this.getSessionid() + "','username':'" + users.get(this.getSessionid()) + "'}}").replace('\'', '"');
|
||||
super.getWebSocketGroup().getWebSockets().filter(x -> x != this).forEach(x -> {
|
||||
x.send(msg);
|
||||
});
|
||||
}
|
||||
super.broadcastMessage(msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected CompletableFuture<Serializable> createGroupid() {
|
||||
protected CompletableFuture<Serializable> createUserid() {
|
||||
return CompletableFuture.completedFuture("2");
|
||||
}
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@ public class ChatService implements Service {
|
||||
|
||||
protected final AtomicInteger idcreator = new AtomicInteger(10000);
|
||||
|
||||
public int createGroupid() {
|
||||
public int createUserid() {
|
||||
int v = idcreator.incrementAndGet();
|
||||
setIdcreator(v);
|
||||
return v;
|
||||
|
||||
@@ -24,21 +24,21 @@ public class ChatWebSocket extends WebSocket<Integer, Object> {
|
||||
protected ChatService service;
|
||||
|
||||
@Override
|
||||
protected CompletableFuture<Integer> createGroupid() {
|
||||
return CompletableFuture.completedFuture(service.createGroupid());
|
||||
protected CompletableFuture<Integer> createUserid() {
|
||||
return CompletableFuture.completedFuture(service.createUserid());
|
||||
}
|
||||
|
||||
@RestOnMessage(name = "sendmessage")
|
||||
public void onChatMessage(ChatMessage message, Map<String, String> extmap) {
|
||||
message.fromuserid = getGroupid();
|
||||
message.fromusername = "用户" + getGroupid();
|
||||
message.fromuserid = userid();
|
||||
message.fromusername = "用户" + userid();
|
||||
System.out.println("获取消息: message: " + message + ", map: " + extmap);
|
||||
super.broadcastEachMessage(message);
|
||||
super.broadcastMessage(message);
|
||||
}
|
||||
|
||||
@RestOnMessage(name = "joinroom")
|
||||
public void onJoinRoom(int roomid) {
|
||||
service.joinRoom(getGroupid(), roomid);
|
||||
service.joinRoom(userid(), roomid);
|
||||
System.out.println("加入房间: roomid: " + roomid);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user