package ws; import org.java_websocket.WebSocket; import org.java_websocket.client.WebSocketClient; import org.java_websocket.enums.ReadyState; import org.java_websocket.handshake.ServerHandshake; import org.joda.time.DateTime; import java.net.URI; import java.net.URISyntaxException; import java.util.Iterator; /** *
 *
 * Created by zhenqin.
 * User: zhenqin
 * Date: 2023/3/17
 * Time: 下午4:19
 * Vendor: yiidata.com
 *
 * 
* * @author zhenqin */ public class WebSocketClientTest { public static void main(String[] args) throws Exception { MsgWebSocketClient client = new MsgWebSocketClient("ws://localhost:9696/dataopsapi/websocket/1"); client.connect(); while (client.getReadyState() != ReadyState.OPEN) { System.out.println("还没有打开"); Thread.sleep(200); } System.out.println("建立websocket连接"); client.send("asd: " + DateTime.now().toString("yyyy-MM-dd HH:mm:ss")); Thread.sleep(5000); client.close(); } static class MsgWebSocketClient extends WebSocketClient { public MsgWebSocketClient(String url) throws URISyntaxException { super(new URI(url)); } @Override public void onOpen(ServerHandshake shake) { System.out.println("握手..."); for (Iterator it = shake.iterateHttpFields(); it.hasNext(); ) { String key = it.next(); System.out.println(key + ":" + shake.getFieldValue(key)); } } @Override public void onMessage(String paramString) { System.out.println("接收到消息:" + paramString); } @Override public void onClose(int paramInt, String paramString, boolean paramBoolean) { System.out.println("关闭..." + paramString); } @Override public void onError(Exception e) { e.printStackTrace(); System.out.println("异常" + e); } } }