首先是导入的maven依赖,开始的时候用新版的1.4.0,如果只是websocket协议,ws协议完全没问题,直接就可以连接,但是当使用wss的时候,没找到相应的解决方案,总是在报错找不到DefaultSSLWebSocketClientFactory等类,然后发现了1.3.0可以实现的一种方案,当然1.4.0不能实现应该是我没找对方法,但是能用一种就发出来记录一下。现在使用1.3.0 。

     <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.3.0</version></dependency>
import org.java_websocket.client.DefaultSSLWebSocketClientFactory;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;import javax.net.ssl.*;
import java.net.URI;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Iterator;public class MyWebSocketClient extends WebSocketClient {public static final String WEBSOCKET_SERVER_URL = "wss://www.chuai.com:8800";public MyWebSocketClient(URI serverUri) {super(serverUri);}@Overridepublic void onOpen(ServerHandshake shake) {System.out.println("握手...");for (Iterator<String> it = shake.iterateHttpFields(); it.hasNext(); ) {String key = it.next();System.out.println(key + ":" + shake.getFieldValue(key));}}@Overridepublic void onMessage(String paramString) {System.out.println("接收到消息:" + paramString);}@Overridepublic void onClose(int code, String reason, boolean remote) {System.out.println("Disconnected");}@Overridepublic void onError(Exception e) {System.out.println("异常" + e);}final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {public boolean verify(String hostname, SSLSession session) {return true;}};/*** Trust every server - dont check for any certificate*/private static void trustAllHosts(MyWebSocketClient appClient) {// Create a trust manager that does not validate certificate chainsTrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {public java.security.cert.X509Certificate[] getAcceptedIssuers() {return new java.security.cert.X509Certificate[]{};}public void checkClientTrusted(X509Certificate[] chain,String authType) throws CertificateException {}public void checkServerTrusted(X509Certificate[] chain,String authType) throws CertificateException {}}};// Install the all-trusting trust managertry {SSLContext sc = SSLContext.getInstance("TLS");sc.init(null, trustAllCerts, new java.security.SecureRandom());appClient.setWebSocketFactory(new DefaultSSLWebSocketClientFactory(sc));} catch (Exception e) {e.printStackTrace();}}public static MyWebSocketClient getChatClient()throws Exception {MyWebSocketClient chatclient = new MyWebSocketClient(new URI(WEBSOCKET_SERVER_URL));trustAllHosts(chatclient);chatclient.connectBlocking();return chatclient;}/*public static void main(String[] args) throws Exception {MyWebSocketClient chatclient = new MyWebSocketClient(new URI(WEBSOCKET_SERVER_URL));trustAllHosts(chatclient);chatclient.connectBlocking();chatclient.send("{\"type\":\"login\",\"name\":\"admin\",\"passwd\":\"111111\"}");BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));while (true) {String line = reader.readLine();if (line.equals("close")) {chatclient.close();} else {chatclient.send("{\"type\":\"friend_list\"}");}}}*/
}

java做websocket的客户端wss协议相关推荐

  1. java做服务器端给客户端传数据包_java 服务器怎样给客户端传输数据

    展开全部 服务器端源码: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundExceptio ...

  2. java写wss,JAVA模拟WebSocket客户端,支持wss ssl证书

    背景:websocket在Html5里面有着举足轻重的地位,最近工做中须要对websocket接口进行压测,使用jmeter的websocket sample进行,可是通常现网的websocket都是 ...

  3. JAVA模拟WebSocket客户端,支持wss ssl证书

    背景:websocket在Html5里面有着举足轻重的地位,最近工作中需要对websocket接口进行压测,使用jmeter的websocket sample进行,但是一般现网的websocket都是 ...

  4. 利用netty开发webScoketClient(支持wss协议,客户端、服务端心跳实现)

    这里写目录标题 前言 题外话 webScoketClient实现方式一(jacva_webscoket) webScoketClient工具类 简单编写测试 webScoketClient实现方式二( ...

  5. nginx实现对websocket加密协议wss协议的反向代理以及websocket整合springboot入门(踩坑)

    出发点 最近公司需要有一个推送前端消息的需求 首选websocket进行推送,也做过客服系统接触过,最近看了一点websocket的相关内容记录总结一下. 什么是websocket websocket ...

  6. nginx websocket wss 连接失败 failed_浅谈WebSocket协议、WS协议和WSS协议原理及关系

    现如今,一些游戏,网站,APP,支付行业的网络经常会收到DDOS和CC,因此这个事情也变得不足为奇了.但在防护方案中有多种不同的方案.如,今天有几个同事在针对高防CDN问题讨论的时,谈到WebSock ...

  7. C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)

    前言 最近想做一个Web版的即时聊天为后面开发的各项功能做辅助,就需要浏览器与服务器能够实时通讯.而WebSocket这种双向通信协议,就很合适用来实现这种需求. 本篇文章主要解决C#如何实现WebS ...

  8. WebSocket 结合 Nginx 实现域名及 WSS 协议访问

    简单了解一下 WebSocket 现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器 ...

  9. Spring Boot + WebSocketClient + wss协议证书认证 + 客户端心跳重连机制

    近期公司项目中要对接第三方的WebSocket服务获取数据,本来以为是很简单的工作,但问题是服务方提供的是"wss"协议,需要证书认证,为此查阅了很多博客,都没有解决, 最后还是自 ...

最新文章

  1. 2010中国城市GDP排名
  2. VDI序曲十七 RDVH虚拟主机中开启RemoteFX的硬件配置要求
  3. angularjs 弹出框 $modal传值
  4. Educational Codeforces Round 73 (Rated for Div. 2) Make The Fence Great Again dp + 结论
  5. openfire log4j:ERROR setFile(null,true) call failed.
  6. [css] 使用css实现气泡框的效果
  7. matlab移相变压器,18脉移相变压器+三相不可控桥式整流的MATLAB仿真
  8. (转)C# Winform应用程序占用内存较大解决方法整理
  9. 难得干货,揭秘支付宝的2维码扫码技术优化实践之路
  10. python 椭圆曲线加密_椭圆曲线加密算法
  11. 计算机word降序排列怎么做,WORD表格怎么按照数字降序排列
  12. Spring Security 配置
  13. 最新九月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试三十题
  14. PHP 创建与解析 XML
  15. [激光原理与应用-63]:激光器-光学-探测光、泵浦光和种子光三种光的区别
  16. 暴风影音2007全功能完美版和Symantec Norton的冲突 1
  17. 解决Linux没有声音的问题
  18. 【centos-16】专业的原理图
  19. 【框架学习】XML四种解析方案
  20. 生物信息分析:从入门到精通结语

热门文章

  1. 让你的Excel完美支持中国农历
  2. 用 Signal Processing Toolbox 软件对数据进行滤波
  3. 2019最新《智能社Javascript之Vue.JS教程》
  4. 联想lenovo thinkserver RD640 安装windows2003erver
  5. python 判断手机号码和正整数
  6. 输入法智能化发展历程——第三代输入法崭露头角
  7. 《HFSS电磁仿真设计从入门到精通》一2.1 设计概述
  8. cpu性能评测(i5-4460,i5-4400,i5-3470,i5-2400s,i3-3220T,G860)
  9. 钉钉统一身份认证对接前后端代码
  10. 电化学传感器(1)原理(2)---设计恒电位电路