当我查看 JS 代码时:
socket = new WebSocket(server);
socket.onopen = function (evt)
{
// STUFF
};
我总是有点困惑。onopen
如果您用任何其他语言编写类似的内容,那么在连接server
已经建立之后,“事件处理程序”将很有可能被绑定,从而导致您错过onopen
事件。即使第一行是由 Javascript 解释器异步执行的,第二行仍然有可能太晚了。
为什么上面的代码在 Javascript 中运行良好,而在 C# 中(例如)它应该写成:
WebSocket socket = new WebSocket();
socket.onopen = new EventHandler<EventArgs>(Open);
socket.Connect(server);