我想了解一下在hm Natal/widgets 内部 wsconnection.ts 调用的各步骤，ลม请用简明扼要的语言分为五个步骤描述，并列出每个主要步骤需要执行的操作。
user
1. **初始化WebSocket连接**：
   - 导入必要的模块和库。
   - 创建WebSocket实例，传入服务器地址和端口。

2. **设置事件监听器**：
   - 为WebSocket实例设置`open`事件监听器，以处理连接打开后的逻辑。
   - 为WebSocket实例设置`message`事件监听器，以处理接收到的消息。
   - 为WebSocket实例设置`error`事件监听器，以处理连接过程中出现的错误。
   - 为WebSocket实例设置`close`事件监听器，以处理连接关闭后的逻辑。

3. **发送消息**：
   - 定义发送消息的方法，通过WebSocket实例的`send`方法发送数据。
   - 确保消息格式符合服务器要求。

4. **处理接收到的消息**：
   - 在`message`事件监听器中解析接收到的数据。
   - 根据消息类型执行相应的处理逻辑。

5. **关闭连接**：
   - 提供关闭WebSocket连接的方法，调用WebSocket实例的`close`方法。
   - 清理事件监听器，确保资源释放。
assistant