webSocket开发chat application过程
本次使用websocket开发chat的功能已经接近尾声,等到压力测试结束之后就可以上线了。在此记录一下整个开发过程。
-------------------------------------------------------------------------------------------------------------------------------------------------
我的开发环境:
Java1.8.0_25
tomcat8.5.14
nginx1.6.3
相关开源软件版本:
sockjs-0.3
springmvc 4.0.6.RELEASE
按照官方的说法:
最低配置应该在Java7,tomcat7.0.43,nginx 1.3.13 .
参考http://nginx.org/en/docs/http/websocket.html 和http://tomcat.apache.org/tomcat-7.0-doc/changelog.html
题外话:楼主公司本来是用的是tomcat7.0.65 linux.本人开发环境使用的是8.0.43. 开发结束提交测试后再 测试服务器一直报错,无法运行(异常信息忘记截图了)。楼主在开发环境windows下测试了7.0.57,7.0.72,7.0.82都可以使用。等闲了在测试一下。
最后统一升级到了tomcat8.5.14 升级过程中除了程序中有一处ajax get方法传参格式不规范导致的异常外,其余测试正常。
-------------------------------------------------------------------------------------------------------------------------------------------------
websocket开发分为client端和server端
因本功能需要在mui+H5 开发的app,同时还有微信服务号,浏览器等多处应用,最终在client端选择sockjs。
server端,即SpringMVC
-----------------------------------------------------------------------------------------------------------------------------------------------
系统架构

需要解决的问题:
1)nginx默认是使用http协议的,要想让nginx支持ws或者wss协议,需要对nginx进行配置,做协议升级。具体参照http://nginx.org/en/docs/http/websocket.html
2)socket 连接共享。server端在服务器上的部署肯定不是单机的。client1和client2 要进行对话,他们有可能链接到了不同的Server,websocket无法序列化,如何把消息通过其他Server上的websocket链接发给客户端是需要解决的问题。
webSocket开发chat application过程的更多相关文章
- Java和WebSocket开发网页聊天室
小编心语:咳咳咳,今天又是聊天室,到现在为止小编已经分享了不下两个了,这一次跟之前的又不大相同,这一次是网页聊天室,具体怎么着,还请各位看官往下看~ Java和WebSocket开发网页聊天室 一.项 ...
- [已解决][HTML5]基于WebSocket开发小蝌蚪应用
前端时间在网上看到别人用WebSocket开发的小蝌蚪应用很炫酷,不过是php,于是想着用java也实现一套, 找到前端 https://github.com/danielmahal/Rumpetro ...
- Abp(.NetCore)开发与发布过程
.NetCore 项目开发正当火热,ABP也推出了.NetCore的版本.趁此机会学习.NetCore的开发与发布过程.以下是本人的踩坑经验. 在ABP官网提供单页面应用开发框架(AngularJs) ...
- ASP.NET AJAX web chat application
ASP.NET AJAX web chat application The project illustrates how to design a simple AJAX web chat appli ...
- java websocket开发的客户端程序
最近用java websocket开发的客户端程序,在和服务端链接通后,在数据传输完毕后,客户端自动关闭了链接,如何能保持链接不断开 这个是客户端的启动类,在循环完毕后,会自动断开和服务器的链接,开始 ...
- C++程序开发的基本过程
前两天说去一家小公司实习,被他们的一个技术员工的一个问题问到了,问的我当时都没有反应过来,回来后突然发现这个问题我会啊 ,只是当时没想到这么浅显.现在总结下: C++程序开发的基本过程: 1)编辑 开 ...
- AI开发者十问:10分钟了解AI开发的基本过程
摘要:从AI开发模型.框架.工具,到提升开发效率的学习办法,为AI开发者逐一解答. 本文分享自华为云社区<10分钟了解AI开发的基本过程>,作者:简单坚持. 1.AI开发究竟在开发什么? ...
- 测试开发HTTP请求过程(一)
测试开发HTTP请求过程 HTTP请求过程: 首先要熟悉http请求过程: 1,服务端建立socket监听 2,客户端发送http请求 3,客户端与服务端建立socket连接 4,客户端------t ...
- Android NDK开发指南---Application.mk文件和android.mk文件
https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...
随机推荐
- NOIP模拟赛-2018.11.6
NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...
- requests sslerror
比较烦人的情况: 使用pip安装任何包和requests库请求https站都会提示SSL错误,试了网上很多方法,还是没解决,最后升级pip和requests库解决,特做记录. 升级pip curl h ...
- oracle 批量更新merge语句
merge into (SELECT * FROM QUERY_DB1.test_MPOS ) T1 using (SELECT FLAG FLAG1,IN_MNO FROM QUERY_DB1.t ...
- android 7.0以上共享文件(解决调用系统照相和图片剪切出现的FileUriExposedException崩溃问题)
在android7.0开始试共享“file://”URI 将会导致引发 FileUriExposedException. 如果应用需要与其他应用共享私有文件,则应该使用 FileProvider, F ...
- 【转】Android Camera 相机开发详解
在Android 5.0(SDK 21)中,Google使用Camera2替代了Camera接口.Camera2在接口和架构上做了巨大的变动, 但是基于众所周知的原因,我们还必须基于 Android ...
- Python中__init__()方法注意点
此文转自https://www.cnblogs.com/zyxstar2003/archive/2011/03/21/1989954.html 1.__init__并不相当于C#中的构造函数,执行它的 ...
- PHP7.0新特性
http://blog.csdn.net/h330531987/article/details/74364681 反射 闭包 trait 还有数组
- jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化
jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化 js监听输入框值的即时变化 网上有很多关于 onpropertychange.oni ...
- CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3
CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3,亲测~~ 因为可以创建不同的环境版本或虚拟环境 CentOS7服务器安装anaconda3后,CentOS7服务器开启后自动将a ...
- uname -a输出内容分析
uname -a输出内容分析 uname --help 将每个参数都单独执行一次,得到: ------------------------------------------------------- ...