如何使用WebSockets广播播放框架1.2.7
我的代码可以工作。但只刷新一个窗口的一页。 如果我打开window1和window2,则两者都会打开websocket connect。 我在window1中键入word test123,单击Send按钮。 仅刷新窗口1。 如何刷新window1和window2? 客户如何使用WebSockets广播播放框架1.2.7,websocket,refresh,broadcast,playframework-1.x,Websocket,Refresh,Broadcast,Playframework 1.x,我的代码可以工作。但只刷新一个窗口的一页。 如果我打开window1和window2,则两者都会打开websocket connect。 我在window1中键入word test123,单击Send按钮。 仅刷新窗口1。 如何刷新window1和window2? 客户 你有一个基本的工作,使一个单一的插座。但是,您创建的每个套接字都使用套接字事件。由于每个套接字都相当于一个线程,因此需要为每个套接字发送事件。这就是为什么当一个新套接字打开时,您需要将它映射到一个套接字数组中 这条线可以帮你 并
你有一个基本的工作,使一个单一的插座。但是,您创建的每个套接字都使用套接字事件。由于每个套接字都相当于一个线程,因此需要为每个套接字发送事件。这就是为什么当一个新套接字打开时,您需要将它映射到一个套接字数组中 这条线可以帮你 并参考此框架游戏示例
<script>
window.onload = function() {
document.getElementById('sendbutton').addEventListener('click', sendMessage,false);
document.getElementById('connectbutton').addEventListener('click', connect, false);
}
function writeStatus(message) {
var html = document.createElement("div");
html.setAttribute('class', 'message');
html.innerHTML = message;
document.getElementById("status").appendChild(html);
}
function connect() {
ws = new WebSocket("ws://localhost:9000/ws?name=test");
ws.onopen = function(evt) {
writeStatus("connected");
}
ws.onmessage = function(evt) {
writeStatus("response: " + evt.data);
}
}
function sendMessage() {
ws.send(document.getElementById('messagefield').value);
}
</script>
</head>
<body>
<button id="connectbutton">Connect</button>
<input type="text" id="messagefield"/>
<button id="sendbutton">Send</button>
<div id="status"></div>
</body>
public class WebSocket extends WebSocketController {
public static void test(String name) {
while(inbound.isOpen()) {
WebSocketEvent evt = await(inbound.nextEvent());
if(evt instanceof WebSocketFrame) {
WebSocketFrame frame = (WebSocketFrame)evt;
System.out.println("received: " + frame.getTextData());
if(!frame.isBinary()) {
if(frame.getTextData().equals("quit")) {
outbound.send("Bye!");
disconnect();
} else {
outbound.send("Echo: %s", frame.getTextData());
}
}
}
}
}
}