
问题处理
Terisadeng
工作繁忙,私信和评论提的问题可能没时间复现解答(。・_・。)ノI’m sorry~
展开
-
远程主机强迫关闭了一个现有的连接
问题现象服务端报远程主机强迫关闭了一个现有的连接,抓包发现,返回给客户端RST问题分析,从抓包看是服务端返回给客户端RST,是服务端主动关闭了连接,但是服务端实际上是报错,关闭了连接。java.io.IOException: 远程主机强迫关闭了一个现有的连接。 at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[?:1.8.0_222] at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.原创 2021-11-02 10:13:46 · 27090 阅读 · 3 评论 -
XML 解析错误:格式不佳
问题描述:在Firefox浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。因为ajax请求指定了数据类型是json,后台返回数据如果不指定内容类型是文本,默认就是html类型,这样返回到前端就会自动调用html的解析器对文件进行解析,因此报这个异常(在Chrome没有这个错误)。解决方法就是设置响应头的内容类型为文本,或者直接设置成json格式:...原创 2018-12-20 15:54:06 · 25420 阅读 · 1 评论 -
浏览器代理导致WebSocket无法建立
今天遇到一个问题记录一下。用户反应进入相应群组后无法查看聊天记录。从用户截图看用户已经登录系统,且可以看到未读消息计数、处理的工单等信息。1、从这里可以看出,用户访问web服务器没有问题,请求可以被后台处理;因为未读消息计数、群组列表是通过长轮询实现,工单处理信息通过ajax获取。而聊天记录是通过WebSocket获取的。2、因此,可以判断是浏览器无法和服务器建立WebSocket...原创 2018-12-17 16:33:08 · 6687 阅读 · 5 评论 -
用户在线状态实现修改
需求描述:由于目前的群组成员在线离线状态是通过WebSocket的建立和断开来判断的,而一个浏览器页面同一时间只能建立一个WebSocket。因此当A用户在1群是在线状态时,在2群就是离线状态,这样B用户在2群看到的A用户就是离线状态,实际上A用户此时是可以看到B发送的消息的。因此这种在线离线状态对于用户感知其他成员状态就没有意义,需要改为系统级的在线离线。当然群组级的在线离线对于未读消息计数...原创 2018-12-18 17:28:11 · 3147 阅读 · 8 评论 -
FireFox刷新浏览器不清空隐藏域
使用ajax循环调用服务器方法实现长轮询,通过页面的一个隐藏域传递参数判断后台方法是否继续执行业务逻辑还是直接返回,并将后台获取的数据更新隐藏域。在Chrome测试成功,但是在Firefox测试发现当刷新页面后,返回的数据总是异常,第一次访问系统没有问题。后台断点检查发现隐藏域的方法在刷新浏览器后传递的是刷新页面之前获取的数据。因此判断是隐藏域在Firefox刷新页面时没有清除数据,查询w3的...原创 2018-12-25 16:18:03 · 458 阅读 · 0 评论 -
Firefox上实现鼠标滚轮事件时隐藏滚动条
在Chrome上实现了页面的鼠标滚轮事件,但是在Firefox上会出先横向和纵向滚动条,如果设置存放内容的容器overflow:hidden;会导致滚轮事件失效,因此不能通过这种方式直接实现。想到一个间接实现的方式,就是将width设置的超出范围比如103%,这样就可以将纵向滚动条顶出页面,就变相实现隐藏滚动条了。。需要将body设置overflow:hidden;容器设置overflow:hi...原创 2019-01-02 10:50:43 · 766 阅读 · 0 评论