在这个项目中,安卓原生代码作为server,打开端口,监听和控制连接
监听服务
import java.net.InetSocketAddress; import org.java_websocket.WebSocket; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; public class WsServer extends WebSocketServer { public WsServer(int port) { super(new InetSocketAddress(port)); } public WsServer(InetSocketAddress address) { super(address); } @Override public void onOpen(WebSocket conn, ClientHandshake handshake) { // ws连接的时候触发的代码,onOpen中我们不做任何操作 } @Override public void onClose(WebSocket conn, int code, String reason, boolean remote) { //断开连接时候触发代码 userLeave(conn); System.out.println(reason); } @Override public void onMessage(WebSocket conn, String message) { KeyHelper.onKey(Integer.parseInt(message)); if (null != message && message.startsWith("online")) { String userName = message.replaceFirst("online", message);//用户名 userJoin(conn, userName);//用户加入 } else if (null != message && message.startsWith("offline")) { userLeave(conn); } } @Override public void onError(WebSocket conn, Exception ex) { //错误时候触发的代码 System.out.println("on error"); ex.printStackTrace(); } /** * 去除掉失效的websocket链接 * * @param conn */ private void userLeave(WebSocket conn) {