SpringBoot采用websocket同客户端通讯,带心跳处理;并支持wss通过nginx访问

SpringBoot采用websocket同客户端通讯,带心跳处理;并支持wss通过nginx访问

目录

1、websocket是什么?

2、springboot使用websocket

3、nginx配置支持wss访问websocket的协议接口


1、websocket是什么?

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。

WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

2、springboot使用websocket

SpringBoot采用websocket同客户端通讯,带心跳处理;并支持wss通过nginx访问_第1张图片

代码在git仓库;本地maven构建后,可以直接运行。

https://github.com/MrZhengliang/springboot-websocket

3、nginx配置支持wss访问websocket的协议接口

 server {
        listen 443 ssl;
        server_name devxcx.modoopark.com;
        access_log  logs/dev_api_access.log  main;
        ssi on;
        ssi_silent_errors on;
        ssi_types text/shtml;

        ssl on;
        ssl_certificate /usr/local/nginx/conf/ssls/xxx.com.pem;      #SSL证书
        ssl_certificate_key /usr/local/nginx/conf/ssls/xxx.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
	     
      location /websocket/1 {
    	 access_log /logs/come-websocket.log;
      	 proxy_pass http://xxx:8888; 
      	 proxy_read_timeout 60s;
      	 proxy_set_header Host $host;
      	 proxy_set_header X-Real_IP $remote_addr;
      	 proxy_set_header X-Forwarded-for $remote_addr;
      	 proxy_http_version 1.1;
      	 proxy_set_header Upgrade $http_upgrade;
      	 proxy_set_header Connection 'Upgrade';
	}
}

-------------欢迎各位留言交流,如有不正确的地方,请予以指正。【Q:981233589】

可运行的工程直接下载:https://download.csdn.net/download/XinTeng2012/12657087

 

 

你可能感兴趣的:(springboot,网络技术,J2EE)