JAVA语言开发WebSocket客户端
网上大多都是一些websocket作为服务器的代码,有的作为客户端导的jar不同也导致不能用,所以亲身经历为大家献上最简单的websocket客户端Demo
1.编写WebSocket客户端实例
注意:此方式需要进入tomcat根目录导进来一个 java-websocket.1.3.7.jar包哦!
package main;
import java.net.URI;
import org.apache.log4j.Logger;
import org.java_websocket.WebSocket.READYSTATE;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.drafts.Draft_6455;
import org.java_websocket.handshake.ServerHandshake;
import common.constant.SystemConstant;
import logic.zhuoyue.receive.ReceiveInterval;
import logic.zhuoyue.send.thread.SendHeartThread;
import logic.zhuoyue.send.thread.SendInThread;
import logic.zhuoyue.send.thread.SendMonthCardThread;
import logic.zhuoyue.send.thread.SendOutThread;
/**
* 建立连接...
* 发送数据
* @author apple
*/
public class Client {
private final static Logger logger = Logger.getLogger(Client.class);
public static WebSocketClient client;
public static void createConnect() throws Exception{
//SystemConstant.WS_URL : wsURL地址
client = new WebSocketClient(new URI(SystemConstant.WS_URL), new Draft_6455()) {@Override
public void onOpen(ServerHandshake arg0) {
logger.debug("开始建立链接...");
}
@Override
public void onMessage(String arg0) {
logger.debug("检测到服务器请求...");
//这个方法自动接收服务器发过来的信息,直接在此处调用自己写的方法即可.
}
@Override
public void onError(Exception arg0) {
arg0.printStackTrace();
logger.debug("客户端发生错误,即将关闭!");
}
@Override
public void onClose(int arg0, String arg1, boolean arg2) {
logger.debug("客户端已关闭!");
logger.debug("开始尝试重新连接...");
try {
Client.createConnect();
} catch (Exception e) {
e.printStackTrace();
logger.debug("重新连接失败,请检查网络!");
}
//重启客户端后创建4个定时任务线程
new SendHeartThread().start();
new SendInThread().start();
new SendOutThread().start();
new SendMonthCardThread().start();
}
};
client.connect();
//判断连接状态,
while (client.getReadyState().equals(READYSTATE.OPEN)) {
logger.debug("成功建立链接!");
}
}
public static void send(String message) {
client.send(message);
}
}
2.当我们需要向服务器端发送信息时
直接把Client客户端实例当做工具类操作即可.
例如: Client.send("发送的信息");
3.当我们需要接收服务端的信息时
直接在Client类中的onMessage方法中接收,然后在自己处理即可.
4.在线websocket服务器测试地址
http://coolaf.com/tool/chattest
http://www.blue-zero.com/WebSocket/
5.如果您觉得解决了您的一个小困难,伸出您的小手,感谢打赏