热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我和WebSocket的那些事(一)

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

  我的策划大佬离职了,在他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证书的问题,于是乎我在这个坑上摔倒了......

我和 WebSocket 的那些事(一)


推荐阅读
  • ASP.NET MVC 小牛之旅3:Routing——网址路由
    网址路由(Routing)在ASP.NETMVC中有两个主要用途,一个用途是匹配通过浏览器传来的HTTP请求,另一个用途则是响应适当的网址给浏览器。3.1匹配通过浏览器传来的HTT ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 这篇文章给大家介绍怎么从源码启动和编译IoTSharp ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。IoTSharp项目是 ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • 对hishop 商城 web.config加密,和解密码详细说明 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • OS的版本是:windows2003R2EnterpriseEditionServerPack2IIS6.0安装后,Web服务器扩展中的ASP.NETv1.1.4322也都启用, ... [详细]
author-avatar
手机用户2602905767
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有