• 我和 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
Copyright © 2020-2023  润新知