我正在努力学习使用套接字。我没有发现任何关于此错误的信息,或者我正在搜索错误的关键字。无论如何,我可以连接到我的套接字,但当我尝试发送消息时,我收到此错误:
InvalidStateError:尝试使用不可用或不再可用的对象
$('#send-btn').click(function(){ //use clicks message send button
var mymessage = $('#message').val(); //get message text
var myname = $('#name').val(); //get user name
if(myname == ""){ //empty name?
alert("Enter your Name please!");
return;
}
if(mymessage == ""){ //emtpy message?
alert("Enter Some message Please!");
return;
}
//prepare json data
var msg = {
message: mymessage,
name: myname,
color : '<?php echo $colours[$user_colour]; ?>'
};
//convert and send data to server
websocket.send('hello');
});
我找不到有关此错误的任何信息,或者我再次执行相同的错误并搜索错误的关键字。无论如何,我希望你们中的一些人能够回答我能做什么,或者指出我正确的方向。
答案 0 :(得分:1)
您过快地调用websocket.send()
函数。
当websocket netstate有效或ESTABLISHED时,你应该调用它。
您可以通过setTimeout
(调用websocket.send
方法的函数和time
)尝试通话。
答案 1 :(得分:0)
这是我的情况,当我的互联网连接中断以解决此错误时,必须在就绪状态正常时将其发送到套接字:
if (socket.readyState == 1) {
socket.send ('bal bla');
}