可以使用org.java_websocket
库来实现WebSocket服务器,并通过broadcast
方法实现广播
java实现
import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import java.net.InetSocketAddress;
import java.io.IOException;
public class BroadcastWebSocketServer extends WebSocketServer {
public BroadcastWebSocketServer(int port) throws IOException {
super(new InetSocketAddress(port));
}
@Override
public void onOpen(WebSocket conn, ClientHandshake handshake) {
conn.send("Welcome to the server!");
broadcast("New connection: " + handshake.getResourceDescriptor());
}
@Override
public void onClose(WebSocket conn, int code, String reason, boolean remote) {
broadcast(conn.getRemoteSocketAddress().getAddress().getHostAddress() + " has left the room!");
}
@Override
public void onMessage(WebSocket conn, String message) {
broadcast("Message from " + conn.getRemoteSocketAddress().getAddress().getHostAddress() + ": " + message);
}
@Override
public void onError(WebSocket conn, Exception ex) {
ex.printStackTrace();
}
@Override
public void onStart() {
System.out.println("Server started!");
}
}