2014-04-21 50 views
0

我有一个使用此语句创建一个WebSocket的:创建的WebSocket从一个新的连接打开一个

ws = new WebSocket(targetURL); 

和我的JavaScript运行里面ws.onopen所有功能(这仅仅是一个警告,说明ws被打开)。

但是,在15分钟左右之后,我想使用相同的变量ws创建websocket的新连接。我再次尝试这样的:

ws = new WebSocket(targetURL); 

但是这一次,它看起来并不像该ws.onopen功能无法运行(没有警报,指出WS被打开)。所以我认为这个声明不能用来创建一个新的连接,可以吗?

有没有办法呢?

谢谢

回答

1

因为要创建在事件处理函数附加一个新的对象,你必须。处理程序与对象关联,而不是变量。将您的逻辑写入单独的函数中,并在创建后将该函数分配给“ws.onopen”。

+0

你是不是这个意思: function closeWS(){ \t ws.close(); (){ } function openWS(){ \t ws = new Websocket(targetURL); \t ws.onopen = openEvent(); \t ws.onmessage = messageEvent(message); \t ws.onclose = closeEvent(); \t ws.onerror = errorEvent(); } –

+0

“ws.onopen = openEvent”,没有括号。如果你使用圆括号,你正在分配函数的返回值,而不是函数本身。 – vtortola

相关问题