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.如果您觉得解决了您的一个小困难,伸出您的小手,感谢打赏大笑大笑

                            

发布了6 篇原创文章 · 获赞 2 · 访问量 5180

猜你喜欢

转载自blog.csdn.net/qq_33435280/article/details/80772669