简单六步教你们玩转WebSocket!
1、gradle导入WebSocket,我这边使用的是目前最新的1.5.2版本。
implementation 'org.java-websocket:Java-WebSocket:1.5.2'
2、创建WebSocketClient类
public class JWebSocketClient extends WebSocketClient {
public JWebSocketClient(URI serverUri) {
super(serverUri, new Draft_6455());
}
@Override
public void onOpen(ServerHandshake handshakedata) {
Log.e("JWebSocketClient", "onOpen()");
}
@Override
public void onMessage(String message) {
Log.e("JWebSocketClient", "onMessage()");
}
@Override
public void onClose(int code, String reason, boolean remote) {
Log.e("JWebSocketClient", "onClose()");
}
@Override
public void onError(Exception ex) {
Log.e("JWebSocketClient", "onError()--》"+ex.toString());
}
}
3、初始化WebSocketClient类,且接收数据库反馈数据。
try {
uri = new URI("ws://IP地址:端口");
chatClient = new JWebSocketClient(uri) {
@Override
public void onMessage(String message) {
super.onMessage(message);
if (!message.isEmpty()) {
tv_content.setText(message);
Log.e("接收到的数据:", message);
}
}
};
} catch (URISyntaxException e) {
e.printStackTrace();
}
4、客户端请求连接数据库,推荐使用connectBlocking()
//WebSocket连接服务器
if (chatClient != null && !chatClient.isOpen()) {
try {
chatClient.connectBlocking();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
5、给服务器发送数据
//WebSocket发送数据到服务器
if (chatClient != null && chatClient.isOpen()) {
chatClient.send("你好,大帅B");
}
6、断开关闭跟服务器连接
/**
* 断开连接
*/
private void closeConnect() {
try {
if (null != chatClient) {
chatClient.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
chatClient= null;
}
}
当然还有第七步,这才是重点,看完你就明白了,源码地址:https://download.csdn.net/download/baozouge_0606/19548398