我和 WebSocket 的那些事(一)

  我的策划大佬离职了,在他go之前我都没有解决好一个问题,感觉如果我换了工作面试的时候,别人问到 “你在做项目的时候,遇到的最头疼的问题是什么,是怎么解决的?”,首先想到的应该也是他,今天感觉是时候写点东西了。

  做 PMGO 的时候,涛哥提出想要用浏览器的桌面推送,来替代 hx 的提醒,最早提出WebSocket的想法的,其实不是我们组,别的组也有用了,但没法借鉴,大佬们都是Node.js实现的,用Nginx做反向代理来部署它,我只有 IIS,.Net 支持 WebSocket 貌似也不是太久远的事,当时考虑用,也没有多少能借鉴的,后来在 Github 上找到了 Fleck( https://github.com/statianzo/Fleck  ),虽然不是fork最多的,但用起来是最方便的,对于内部系统来说,在不考虑最大连接数的问题下,它相当的好用(并不是说它不支持而是有一些问题,参考 issue)

  代码写出来了,感觉十分的精致,然后我们就上线了。

 

  正式服更新后还是很稳定的,然后我们打算在此基础上做迭代看板的实时更新。大约一个月后,测试服的WebSocket报了个异常,“当前端口被占用”,我一开始认为是更新测试服时,客户端与服务端的连接没有及时断开,端口资源被强占的情况下无法再次使用相同的端口做服务,因此我等了一下尝试打开服务,可以成功启动,不了了之。就在这个问题被我忽视了又一个月后,尽管在此期间出现了少量的端口占用错误,这一次,服务再也启动不了了,不管等了多久。

  我申请连服务器,找到占用端口的进程id,用pid去任务管理器找对应的进程,没有找到。tasklist|findstr 找到对应端口的进程状态,找到了一大堆 TIME-WAIT 进程,对应的那个pid就是刚才找到的。无奈内网无法截图留念,我一定会珍藏它......

  查看了他的issue,有个作者提到连接瓶颈,但貌似是ssl证书的问题,于是乎我在这个坑上摔倒了......

转载于:https://www.cnblogs.com/lxmajs/p/8799322.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值