长连接的钟表程序

实验要求

实现1个钟表程序(服务),多个用户可以从该程序获得时间并在本地显示,用户也可以修改时间。

(1)用户程序可以在计算机上运行,也可以在手机上运行;

(2)至少3个用户程序可同时运行,时间每秒钟刷新;

   (3) 1个用户修改了时间,所有用户的时间都要随着被改变;

   (4) 推荐使用JavaScript、node.js、Websocket,以及Nginx实现;

   (5) 可能存在跨域问题。

实验步骤

1. 准备环境和安装依赖:

计算机上安装 Node.js 和 npm

创建一个新的文件夹,比如 "realtime-server",进入该文件夹。

在终端中执行以下命令以初始化一个新的 Node.js 项目:

npm init -y 

安装所需的依赖:

npm install express http ws moment cors 

2. 编写代码:

创建一个名为 server.js 的文件,并将提供的代码复制粘贴到该文件中。

3. 运行服务器:

在终端中运行以下命令启动服务器:

node server.js 

4. 连接到服务器:

可使用任何支持 WebSocket 的客户端连接到该服务器。可以使用浏览器的控制台或者 WebSocket 客户端工具,如 wscat

打开浏览器控制台或运行 wscat -c ws://localhost:8080(确保端口号与服务器代码中指定的一致)连接到服务器。

5. 接收当前时间:

一旦连接建立,服务器会发送当前时间给客户端。

6. 发送消息更新时间:

在客户端(浏览器控制台或 wscat)中发送一个符合 ISO 8601 格式的时间字符串,服务器会更新时间并广播给所有连接的客户端。

7. 观察时间更新:

你会看到连接的客户端接收到新的时间,并且每秒钟都会更新一次。

8. 测试不合法时间:

尝试发送一个不符合 ISO 8601 格式的字符串到服务器,你会看到服务器会打印出 "Invalid date format

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值