函数WS_EXECUTE

*&--------------------------------------------------------------------*
*&      Form  sound
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM sound .
   CALL  FUNCTION  'WS_EXECUTE'
     EXPORTING
       program  'C:sound/Sound.exe' .
   IF sy -subrc <>  0 .
     MESSAGE  ID sy -msgid  TYPE sy -msgty  NUMBER sy -msgno
             WITH sy -msgv1 sy -msgv2 sy -msgv3 sy -msgv4 .
   ENDIF .
ENDFORM .                     "sound
这个错误提示是由于在 WebSocket 连接状态为 `CONNECTING` 时就尝试发送消息,导致消息发送失败。WebSocket 连接状态总共有四种状态: - `CONNECTING` - 正在连接 - `OPEN` - 连接已经建立 - `CLOSING` - 关闭中 - `CLOSED` - 连接已关闭 当连接状态为 `CONNECTING` 时,WebSocket 还没有建立连接,这个时候尝试发送消息是不合法的。正确的做法是在连接成功后再发送消息。 在你的代码中,点击按钮时会触发 `sendBtn.onclick` 事件处理函数,这个函数尝试通过 WebSocket 实例的 `send` 方法发送消息。但是,由于 WebSocket 连接还没有建立成功,所以发送消息失败。 为了解决这个问题,我们可以将发送消息的代码放在 WebSocket 实例的 `onopen` 事件处理函数中,示例如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>WebSocket Demo</title> </head> <body> <button id="send-btn">Send Message</button> <input type="text" id="message-box"> <script> const socket = new WebSocket('ws://localhost:8080'); socket.onopen = function(event) { console.log('WebSocket connected!'); const sendBtn = document.getElementById('send-btn'); sendBtn.onclick = function() { const messageBox = document.getElementById('message-box'); const message = messageBox.value; socket.send(message); }; }; socket.onmessage = function(event) { const messageBox = document.getElementById('message-box'); messageBox.value = event.data; }; socket.onclose = function(event) { console.log('WebSocket disconnected!'); }; socket.onerror = function(event) { console.error('WebSocket error:', event); }; </script> </body> </html> ``` 在这个示例代码中,我们将发送消息的代码放在了 `onopen` 事件处理函数中。当 WebSocket 连接建立成功后,`onopen` 事件处理函数会被调用,并将发送消息的代码添加到按钮的 `onclick` 事件处理函数中。这样,当用户点击按钮时,发送消息的代码就会被执行,而不会出现连接状态为 `CONNECTING` 的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChampaignWolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值