简介
在web开发过程中,与服务器进行通信的过程是非常重要的一部分。而WebSocket是现代浏览器支持的一种实现双向通信的网络协议。Websocket可与http协议一样通过80、443端口传输。WebSocket协议在黑客大会上备受瞩目。
在此我们介绍可以使用npm进行安装的@k4connect/ws这个npm包。
安装
可以使用npm安装此包
--- - -------------
例子
这篇指南将使用一个示例WebSocket服务器以说明如何使用@k4connect/ws npm包解决的问题。
----- --------- - ------------------------- ----- -------- - --- ------------------ ----- ---- --- ------------------------- ---- -- - ---------------------- ---------------- --------- -- - ----- ---- - -------------------- ---------------------- ------ ------------------------ -------- --------------- ---- --- -------------- -- -- - ---------------------- --- ---
您可以使用上面引用的示例代码。它将创建一个简单的WebSocket服务器,等待客户端连接。一旦有客户端连接,服务器将等待消息。一旦客户端发送消息,服务器将发送回其他特定消息。
API
使用@k4connect/ws时,您可以使用常见的WebSocket API接口,该接口在WebSocket协议中非常常见。
WebSocket.Server
创建新的WebSocket服务器。
----- --------- - ------------------------- ----- -------- - --- --------------------------
The options are documented in the official node.js documentation:
- ----- ------- -- --- -- ------- ----- ------- -- --- -- ----- -------- ------- -- ----------------------------- ------- ---- -- -------------------- ------- - -------------- ------------- --------- -- ------------------------------ ----------- ------- -- ----------------------- -------- ------------------ -------- -- ------- --------------------- ---------------- -------- -- ---------- -
WebSocket
Socket对象,表示客户端和服务器之间的单个连接。
Event: 'open'
在socket通信空间中连接成功时触发的事件,不同于on的异步式。
----- -- - --- --------------------------------- ------------- -- -- - ---------------------- ---
Event: 'message'
每当从websocket接收到消息时,则运行回调功能。接受到的信息将在该回调函数下为参数。
---------------- ------ -- - ------------------- - -- ------ ---
Event: 'close'
socket关闭时运行回调功能。
-------------- -- -- - ---------------------------- ---
WebSocket.send(message)
发送指定的数据,可供客户端/服务器调用。
------------------------ -------- ---------------- ----
结论
现在您可以使用@k4connect/ws npm 包来轻松地使用WebSocket。WebSocket在Web应用程序中具有越来越多的应用,如果您正在开发实时性应用程序和需要实时性数据传输,那么Websocket当然是您应该考虑的协议之一。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/206523