本次使用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过程的更多相关文章

  1. Java和WebSocket开发网页聊天室

    小编心语:咳咳咳,今天又是聊天室,到现在为止小编已经分享了不下两个了,这一次跟之前的又不大相同,这一次是网页聊天室,具体怎么着,还请各位看官往下看~ Java和WebSocket开发网页聊天室 一.项 ...

  2. [已解决][HTML5]基于WebSocket开发小蝌蚪应用

    前端时间在网上看到别人用WebSocket开发的小蝌蚪应用很炫酷,不过是php,于是想着用java也实现一套, 找到前端 https://github.com/danielmahal/Rumpetro ...

  3. Abp(.NetCore)开发与发布过程

    .NetCore 项目开发正当火热,ABP也推出了.NetCore的版本.趁此机会学习.NetCore的开发与发布过程.以下是本人的踩坑经验. 在ABP官网提供单页面应用开发框架(AngularJs) ...

  4. ASP.NET AJAX web chat application

    ASP.NET AJAX web chat application The project illustrates how to design a simple AJAX web chat appli ...

  5. java websocket开发的客户端程序

    最近用java websocket开发的客户端程序,在和服务端链接通后,在数据传输完毕后,客户端自动关闭了链接,如何能保持链接不断开 这个是客户端的启动类,在循环完毕后,会自动断开和服务器的链接,开始 ...

  6. C++程序开发的基本过程

    前两天说去一家小公司实习,被他们的一个技术员工的一个问题问到了,问的我当时都没有反应过来,回来后突然发现这个问题我会啊 ,只是当时没想到这么浅显.现在总结下: C++程序开发的基本过程: 1)编辑 开 ...

  7. AI开发者十问:10分钟了解AI开发的基本过程

    摘要:从AI开发模型.框架.工具,到提升开发效率的学习办法,为AI开发者逐一解答. 本文分享自华为云社区<10分钟了解AI开发的基本过程>,作者:简单坚持. 1.AI开发究竟在开发什么? ...

  8. 测试开发HTTP请求过程(一)

    测试开发HTTP请求过程 HTTP请求过程: 首先要熟悉http请求过程: 1,服务端建立socket监听 2,客户端发送http请求 3,客户端与服务端建立socket连接 4,客户端------t ...

  9. Android NDK开发指南---Application.mk文件和android.mk文件

    https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...

随机推荐

  1. php面试流程

  2. kubernetes 垃圾回收机制

    一:前言 Kubernetes系统在长时间运行后,Kubernetes Node会下载非常多的镜像,其中可能存在很多过期的镜像.同时因为运行大量的容器,容器推出后就变成死亡容器,将数据残留在宿主机上, ...

  3. ConsenSys/eth-lightwallet(browserless)

    https://github.com/ConsenSys/eth-lightwallet LightWallet A minimal ethereum javascript wallet.一个小型的钱 ...

  4. abp 将abp项目发布之后挂在IIS上无法访问嵌入资源的问题

    在本地调试是能够正常访问到写在另一个程序集中的嵌入资源,但是发布之后 挂在IIS上却不能访问. 整了半天没找到原因.后来发现是发布时配置错误造成的:取消勾选precompile during publ ...

  5. 转自:strcmp函数实现及详解

    strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:int strcmp(constchar*str1,constchar*str2);其中str1和st ...

  6. 非const引用不能指向临时变量

    没找到具体原因,MSDN看到下面这句,VC是从2008才有这一限制的,感觉就是从语法上对临时变量增加了限定,因为一般说来修改一个临时变量是毫无意义的,通过增加限定,强调临时变量只读语义.虽然实际上修改 ...

  7. Hadoop详细配置教程

    windows下采用PuTTY或者Xshell连接远程主机 mac用终端连接远程linux主机:ssh user@hostname user 为 linux 服务器的管理员名称 hostname 为 ...

  8. [SCOI2007]修车 BZOJ1070

    很久之前写的题了,今天翻出来写一篇博客复习一下... 分析: 考虑,T <= 1000,并不能针对这一维处理,所以考虑将,每个人拆点,之后,拆完之后表示,这个人第n-j+1个修k这辆车,也就是, ...

  9. 文理分科 BZOJ3894 & happiness BZOJ2127

    分析: 最小割(一开始我没看出来...后来经过提点,大致理解...),不选则割的思想. 我们先这样考虑,将和选理相关的和S相连,与选文相关的和T相连,如果没有第二问,那么建图就是简单的S连cnt,cn ...

  10. 2017-2018-2 20155315《网络对抗技术》Exp6 :信息搜集与漏洞扫描

    实验目的 进行信息搜集的工作,为实战做准备 教程 实验内容 外围信息搜集 NMAP OpenVAS 实验步骤 (一)各种搜索技巧的应用 实战的前提是进行信息搜索.当我们想要有针对地进行操作的时候,就要 ...