客户端连接 WebSocket 服务器时连接失败会出现的一些问题及解决方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jonychen1
V2EX    2018

客户端连接 WebSocket 服务器时连接失败会出现的一些问题及解决方案

  •  
  •   jonychen1 2018-07-18 14:08:33 +08:00 1747 次点击
    这是一个创建于 2641 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前段时间自己在本地写的一个 WebSocket 程序部署到服务器出现了几个错误,我自己也做了记录和分析,最后总结出来给大家看一下,希望能帮助大家规避掉这些问题。同时给现在正在做 WebSocket 和正准备想做 WebSocket 的程序猿多指出一条较为效率的路。

    Q1 客户端接 WebSocket 服务器时连接失败,报 404 错误。 排查了地址错误和配置相关后,是因为 JAR 冲突,因为 Tomcat7 及以上,在 Tomcat 根目录的 lib 里已经有了 websocket-api.jar,部署项目的时候如果项目的 wen-inf 的 lib 下也有 websocket-api-jar 会冲突,导致连接不上。

    Q2 本地运行正常,连接到服务器上时出错 本地环境:JDK1.8 ( 32 位) Tomcat8.0 服务器环境:JDK1.8 ( 64 位) Tomcat8.0 本地运行是正常的,在服务器部署运行时可以打开页面,并执行 WebSocket 连接失败并关闭的代码。 在 Tomcat8 部署的项目不要导入 catalina.jar 和 WebSocket-api.jar 这两个包,因为 Tomcat8 自带有这两个包。自己再导入的话会有冲突,还有就是 IP 写服务器的 IP 地址,不要写 localhost,在调试远程服务器的 Websocket 程序时,要关闭本地的 Tomcat 服务器。

    Q3 客户端链接 WebSocket 服务器成功后,测试消息推送获取 session 失败。(java WebSocket) 这时一定要注意,客户端连接服务器时的地址如果使用了 localhost:8080/,那么浏览器也一定要使用 localhost:8080/,不然两个请求不是同一个 session,所以会获取不到。

    Q4 WebSocket 链接服务器报 302 错误 链接重定向,可以检查一下是不是后台访问机制的问题,还有可以看一下是不是 URL 路径不对。

    这是我写的 WebSocket 程序部署到服务器出现的几个错误以及解决方法,如果我下次还会用到 WebSocket 这块我可能会选择第三方的……不想在这块花太多时间。 现在免费的第三方 WebSocket 服务有很多,我就不一一列举了,拿个比较简单容易上手的 GoEasy,调用了一个 Rest API 就 OK 了。如果你不是专业做服务器的,我建议可以使用这种第三方的,比较节省时间。 GoEasy 地址:www.goeasy.io 希望这次的解答对你们有所帮助。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6143 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 03:14 PVG 11:14 LAX 20:14 JFK 23:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86