[磋商]新媒体专业部给排水管线改造工程(造价咨询)成交公告
中标评审分析官方公示数据
中标原因深度分析独家解读
0220531的博客
# 一个简单的Websocket小例子
一、Websocket的简单介绍
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,支持服务器主动向客户端推送数据,而不需要客户端发起请求。它是一种新的网络通信协议,可以用来代替 HTTP 或者 RESTful API,提供了更高效的实时交互。
WebSocket 采用的是 HTTP 协议,所以它可以在 HTTP 服务器上运行。它可以在浏览器的任何地方运行,包括桌面、移动设备和网页应用等。WebSocket 是一种高性能的实时通信协议,适用于实时数据更新、在线聊天、实时游戏、在线协作、推送通知等场景。
WebSocket 的主要特点有:
1. 单向通信:WebSocket 只能以单向的方式进行通信,它不能支持双向通信。也就是说,WebSocket 只能从服务器向客户端发送数据,而不能从客户端向服务器发送数据。
2. 双工通信:WebSocket 采用的是全双工通信的方式,它可以在浏览器和服务器之间进行双向通信,而不需要客户端和服务器进行握手操作。
3. 长连接:WebSocket 是基于 TCP 连接的长连接协议,它可以在浏览器和服务器之间建立持久的连接,使得服务器可以持续向客户端推送数据。
4. 数据传输:WebSocket 支持多种类型的数据传输,包括文本、二进制数据以及 JSON 数据等。
WebSocket 的实现方式有两种,一种是使用 HTML5 的 `<WebSocket>` 对象,另一种是使用 Node.js 的 WebSocket 库。下面我将通过一个简单的 WebSocket 示例来演示 WebSocket 的使用方法。
二、WebSocket示例代码
```prism language-javascript
// 创建 WebSocket 连接
const socket = new WebSocket('ws://localhost:8080');
// 客户端连接成功后会触发 onopen 事件
socket.addEventListener('open', (event) => {
// 在连接成功后,向服务器发送消息
socket.send('Hello, server!');
// 客户端向服务器发送消息后,会触发 onmessage 事件
socket.addEventListener('message', (event) => {
console.log(`Received message from server: ${event.data}`);
});
});
// 当连接被关闭或发生错误时会触发 close 事件
socket.addEventListener('close', (event) => {
console.log('WebSocket connection closed');
});
socket.addEventListener('error', (event) => {
console.error(`WebSocket error: ${event.message}`);
});
```
代码解释
• 创建 WebSocket 连接:`const socket = new WebSocket('ws://localhost:8080');` 通过构造函数创建一个 WebSocket 连接,参数为服务器的地址和端口。
• 连接成功后的操作:`socket.addEventListener('open', (event) => { ... });` 当 WebSocket 连接成功后,会触发 `open` 事件。在这个事件中,我们向服务器发送一条消息,并监听服务器返回的消息。
• 发送消息:`socket.send('Hello, server!');` 使用 `send` 方法向服务器发送消息。
• 接收消息:`socket.addEventListener('message', (event) => { ... });` 当从服务器接收到消息时,会触发 `message` 事件。在这个事件中,我们通过 `event.data` 获取到接收到的消息。
• 连接关闭或发生错误后的操作:`socket.addEventListener('close', (event) => { ... });` 当 WebSocket 连接关闭或发生错误时,会触发 `close` 事件。在这个事件中,我们通过 `event.code` 和 `event.reason` 获取到关闭或错误的原因。
• 错误事件:`socket.addEventListener('error', (event) => { ... });` 当 WebSocket 发生错误时,会触发 `error` 事件。在这个事件中,我们通过 `event.message` 获取到错误的原因。
三、WebSocket的服务器端代码
为了使上述客户端代码能够正常工作,我们需要在服务器端实现 WebSocket 服务器。下面我将通过一个简单的 WebSocket 服务器示例来演示 WebSocket 服务器的实现方法。
代码解释
• WebSocket 服务器的实现:`const server = require('http').createServer();` 通过 `http` 模块创建一个 HTTP 服务器对象。
• 为服务器添加 WebSocket 监听器:`const io = require('socket.io')(server);` 通过 `socket.io` 模块为服务器添加一个 WebSocket 监听器,并将监听器绑定到 `server` 对象上。
• 客户端连接成功后的操作:`io.on('connection', (socket) => { ... });` 当服务器接收到一个新的 WebSocket 连接时,会触发 `connection` 事件。在这个事件中,我们创建一个 `socket` 对象,用于与客户端进行通信。
• 向客户端发送消息:`socket.send('Hello, client!');` 使用 `socket` 对象的 `send` 方法向客户端发送一条消息。
• 客户端向服务器发送消息后,会触发 `message` 事件:`socket.on('message', (data) => { ... });` 当客户端向服务器发送消息后,会触发 `message` 事件。在这个事件中,我们通过 `data` 获取到客户端发送的消息。
• 客户端连接关闭或发生错误后的操作:`socket.on('close', (data) => { ... });` 当客户端连接关闭或发生错误时,会触发 `close` 事件。在这个事件中,我们通过
一、项目编号:11000026210200168944-XM002
二、项目名称:新媒体专业部给排水管线改造工程(造价咨询)
三、中标(成交)信息
总中标成交金额:0.62 万元(人民币)
中标成交供应商名称、地址及中标成交金额:
中标成交供应商名称:北京中桥恒通工程管理有限公司
中标成交供应商地址:北京市房山区辰光东路16号院6号楼9层902
中标金额:0.62万元
| 供应商名称 | 供应商地址 | 统一信用代码 | 中标金额 | 中标成交备注信息 |
|---|---|---|---|---|
| 北京中桥恒通工程管理有限公司 | 北京市房山区辰光东路16号院6号楼9层902 | 91110106MA01KNDW45 | 0.62 万元 | 评审总得分(综合评分法): 88 分 |
四、主要标的信息
| 供应商 | 商品名称 | 规格型号 | 数量 | 单价 | 总价 | 服务要求 |
|---|---|---|---|---|---|---|
| 北京中桥恒通工程管理有限公司 | 1 | 0.62万元 | 0.62万元 | 满足磋商文件要求 |
合同履行期限:自合同签订生效后开始至双方合同义务完全履行后截止。
五、评审专家(单一来源采购人员)名单:
陈芳、李凤华、王雪莲
六、代理服务收费标准及金额:
本项目代理费总金额:0.0093万元(人民币)
本项目代理费收费标准:
参照原《招标代理服务收费管理暂行办法》(计价格[2002]1980号)收取。
七、公告期限
自本公告发布之日起1个工作日。
八、其它补充事宜
本项目公告在北京市政府采购网和中国政府采购网上发布。
项目编号:XHTC-FW-2026-0747
中标/成交供应商的评审总得分:88.00分
九、凡对本次公告内容提出询问,请按以下方式联系。
1.采购人信息
名 称:北京市新媒体技师学院(北京时尚控股有限责任公司党校)
地址:北京市大兴区兴华大街三段21号
联系方式:谢老师,69239155
2.采购代理机构信息
名 称:新华招标有限公司
地 址:北京市海淀区莲花池东路39号西金大厦8层
联系方式:赵静淑、刘聪、赵艺博、王跃增、李欣、王乙、叶子青、张际阳、刁玉蕊、李东婵、杜芳瑜,010-63905924、010-63905976
3.项目联系方式
项目联系人:赵静淑、刘聪、赵艺博、王跃增、李欣、王乙、叶子青、张际阳、刁玉蕊、李东婵、杜芳瑜
电 话: 010-63905924、010-63905976
数据来源:查看官方原文 | 发布日期:2026-05-01