websocket是H5新推出的协议,一般用于前端,但是在实际项目中我们需要用java代码来获取一些设备的实时运行数据,在后台处理后推送的前台界面,为了保证实时性,我们需要用到websocket协议,而刚好有一个叫java-websocket的开源项目,我们可以利用它来实现java版的websocket client。
1、需要引入的依赖:
<dependency> <groupId>-websocket</groupId> <artifactId>Java-WebSocket</artifactId> <version>1.3.5</version> </dependency>
2、客户端代码
package ;
import ;
import ;
import ;
import org.java_websocket.WebSocket;
import org.java_websocket.;
import org.java_websocket.;
public class MyWebSocketClient extends WebSocketClient{
public MyWebSocketClient(String url) throws URISyntaxException {
super(new URI(url));
}
@Override
public void onOpen(ServerHandshake shake) {
("握手...");
for(Iterator<String> it=();();) {
String key = ();
(key+":"+(key));
}
}
@Override
public void onMessage(String paramString) {
("接收到消息:"+paramString);
}
@Override
public void onClose(int paramInt, String paramString, boolean paramBoolean) {
("关闭...");
}
@Override
public void onError(Exception e) {
("异常"+e);
}
public static void main(String[] args) {
try {
MyWebSocketClient client = new MyWebSocketClient("ws://192.168.1.118:8080/websocket");
();
while (!().equals()) {
("还没有打开");
}
("建立websocket连接");
("asd");
} catch (URISyntaxException e) {
();
}
}
}
3、启动websocket server,可参考我的博客/hhhshct/p/,然后直接main方法运行,结果如下: