Socket(套接字)是网络编程中实现进程间通信的核心抽象,是应用层与传输层之间的关键桥梁。它通过IP地址和端口号唯一标识网络中的通信端点,支持TCP(面向连接、可靠传输)、UDP(无连接、高效传输)等主流传输协议,广泛应用于即时通讯、文件传输、游戏联机等场景。开发者通过创建Socket实例,绑定地…
在全栈开发与服务器运维的日常实践中,移动端环境的服务部署始终是容易被忽略但极具价值的场景。近期在 Termux 中完成 MariaDB 初始化、后台启动配置及远程访问打通的全过程,恰好印证了移动端轻量服务器搭建的核心逻辑。以下将完整复盘整个操作流程、遇到的问题及解决方案,还原从环境准备到服务可用的全…
我用 Socket.io 搭建了一个聊天的简单应用,当用户打开应用的时候,如果用户登录了,那么就发送用户的信息给 socket 服务器,网络的稳定性谁也无法保证,不过幸好 Socket.io 有心跳包,能够在断开后自动连接服务器,那么重新连接服务器后 sockect.id 已经变了,但是其实还是同一…
这种问题一般在开发的时候不会发现,当你发到正式环境,用 npm run start 运行项目的时候,就会莫名其妙的收不到消息。 最初的方式 我是这样配置 Socket 的: 按照官方的文档,创建对应的控制器和中间件,在 connection.js 中使用全局变量 global.userLis…
用 NodeJS 写了个爬虫,每运行一段时间就会出现 Connection lost: The server closed the connection: events.js:292 throw er; // Unhandled 'error' event ^ Error: Connection l…
在 Egg.js 项目中使用 Socket.io 实现实时消息推送时,常会遇到一个 环境差异化 问题: 本地开发环境(npm run dev)消息收发正常,但部署到正式环境(npm run start)后,频繁出现收不到消息的情况 。这一问题的核心根源在于 Egg.js 正式环境的多进程模型与全局变…
在 Egg.js 项目中集成 egg-socket.io 实现长连接功能时,不少开发者会遇到一个典型环境差异问题: 本地开发环境可正常连接 WebSocket,部署到服务器正式环境后却连接失败,控制台提示 Session ID unknown ,同时伴随 HTTP 400 错误 。本文将深入剖析问题…