This commit is contained in:
redkale
2024-10-11 22:37:07 +08:00
parent bb611413a5
commit a1c4fafa47
5 changed files with 106 additions and 15 deletions

View File

@@ -0,0 +1,24 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.websocket.dyn;
import org.redkale.convert.ConvertColumn;
/**
*
* @author zhangjx
*/
public class GameRoomBean {
@ConvertColumn(index = 1)
public int roomid;
@ConvertColumn(index = 2)
public String roomName;
@Override
public String toString() {
return "RoomBean{" + "roomid=" + roomid + ", roomName=" + roomName + '}';
}
}

View File

@@ -0,0 +1,28 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.websocket.dyn;
import org.junit.jupiter.api.Test;
import org.redkale.net.http.Rest;
import org.redkale.net.http.WebSocketServlet;
import org.redkale.util.RedkaleClassLoader;
/**
*
* @author zhangjx
*/
public class GameTest {
public static void main(String[] args) throws Throwable {
GameTest test = new GameTest();
test.run();
}
@Test
public void run() throws Exception {
RedkaleClassLoader classLoader = RedkaleClassLoader.getRedkaleClassLoader();
WebSocketServlet servlet = Rest.createRestWebSocketServlet(classLoader, GameWebSocket.class, null);
}
}

View File

@@ -0,0 +1,39 @@
/*
* Copyright (c) 2016-2116 Redkale
* All rights reserved.
*/
package org.redkale.test.websocket.dyn;
import java.util.concurrent.CompletableFuture;
import org.redkale.net.http.HttpRequest;
import org.redkale.net.http.RestOnMessage;
import org.redkale.net.http.RestWebSocket;
import org.redkale.net.http.WebSocket;
/**
*
* @author zhangjx
*/
@RestWebSocket(name = "wstest", catalog = "ws", wsmaxconns = 100, comment = "WebSocket服务", repair = false)
public class GameWebSocket extends WebSocket<Long, Object> {
@Override
protected CompletableFuture<String> onOpen(final HttpRequest request) {
return CompletableFuture.completedFuture("uuid001");
}
@Override
protected CompletableFuture<Long> createUserid() {
return CompletableFuture.completedFuture(111222L);
}
@RestOnMessage(name = "joinRoom", comment = "加入房间")
public void joinRoom(GameRoomBean bean) {
System.out.println("加入房间-参数: " + bean);
}
@RestOnMessage(name = "enterGame", comment = "加入游戏")
public void enterGame(String game, long time) {
System.out.println("加入游戏-参数: " + game + ", " + time);
}
}