This commit is contained in:
Redkale
2017-05-27 12:43:03 +08:00
parent 82a2a513f5
commit 97670261e6
2 changed files with 23 additions and 4 deletions

View File

@@ -7,7 +7,9 @@ package org.redkale.test.ws;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.redkale.service.Service;
import java.util.concurrent.atomic.AtomicInteger;
import org.redkale.service.*;
import org.redkale.util.Comment;
/**
*
@@ -17,6 +19,20 @@ public class ChatService implements Service {
private final Map<Integer, Integer> rooms = new ConcurrentHashMap<>();
protected final AtomicInteger idcreator = new AtomicInteger(10000);
public int createGroupid() {
int v = idcreator.incrementAndGet();
setIdcreator(v);
return v;
}
@Comment("同步到其他服务的idcreator")
@RpcMultiRun
public void setIdcreator(int v) {
idcreator.set(v);
}
public boolean joinRoom(int userid, int roomid) {
rooms.put(userid, roomid);
return true;

View File

@@ -25,13 +25,15 @@ public class ChatWebSocket extends WebSocket<Integer, Object> {
@Override
protected CompletableFuture<Integer> createGroupid() {
return CompletableFuture.completedFuture(idcreator.incrementAndGet());
return CompletableFuture.completedFuture(service.createGroupid());
}
@RestOnMessage(name = "sendmessage")
public void onChatMessage(ChatMessage message, Map<String, String> extmap) {
System.out.println("获取消息: message: " + message + ", map: " + extmap);
super.broadcastEachMessage(message); //给所有人广播
message.fromuserid = getGroupid();
message.fromusername = "用户" + getGroupid();
System.out.println("获取消息: message: " + message + ", map: " + extmap);
super.broadcastEachMessage(message);
}
@RestOnMessage(name = "joinroom")
@@ -39,4 +41,5 @@ public class ChatWebSocket extends WebSocket<Integer, Object> {
service.joinRoom(getGroupid(), roomid);
System.out.println("加入房间: roomid: " + roomid);
}
}