Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Websocket连接到VM_Javascript_Websocket_Vcloud Director Rest Api - Fatal编程技术网

Javascript 使用Websocket连接到VM

Javascript 使用Websocket连接到VM,javascript,websocket,vcloud-director-rest-api,Javascript,Websocket,Vcloud Director Rest Api,即使我使用了很多VMware术语,这也可以被视为一个JS问题 我正在使用Websocket连接到vSphere托管并由vCloud Director管理的VM 通过vCloud Director API,我可以拿到安全票,这与【代码>中国科技网(cst)是一个3 P+C/C/C/C/C/C/C/C/C/C/C/C/C/C/C/C/C/FFFFFFFFJJJJJJJJJJJFFFFFFJJJJJJFFFFFFFFJJJJJJJJZZZZZZZZZVVVVVVVVZZZZZZZZZZFFFFFFJJ

即使我使用了很多VMware术语,这也可以被视为一个JS问题

我正在使用Websocket连接到vSphere托管并由vCloud Director管理的VM

通过vCloud Director API,我可以拿到安全票,这与【代码>中国科技网(cst)是一个3 P+C/C/C/C/C/C/C/C/C/C/C/C/C/C/C/C/C/FFFFFFFFJJJJJJJJJJJFFFFFFJJJJJJFFFFFFFFJJJJJJJJZZZZZZZZZVVVVVVVVZZZZZZZZZZFFFFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ--tp-49:4A:E1:31:6B:95:39:AD:47:6D:63:F6:1E:72:F7:D1:B5:65:36:00--

因此,Websocket url非常类似于下面的
"wss://10.160.122.169/902;第四部分是第四部分,第四部分是第三部分,第三部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第三部分,第三部分是第三部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分是第四部分,第四部分是中国中国对中国对中国对第四部分,第四部分,第四部分,第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分是第四部分,第四部分,第四部分是中国中国49:4A:E1:31:6B:95:39:AD:47:6D:63:F6:1E:72:F7:D1:B5:65:36:00--“
其中902是vCloud控制器返回的端口

创建此Websocket后,将调用我的
onopen
函数,这是否意味着连接已建立?然而,在一秒或两秒后,Websocket
onclose
将被调用。这是否表示服务器正在关闭连接?事件代码为1006


如何对此问题进行更多调试?

关闭代码1006表示套接字刚刚“断开”(TCP断开连接),没有收到web套接字协议关闭帧(第7.1.5节)

出现这种情况的原因有很多——可能是不稳定的网络基础设施,甚至是web套接字协议层部分的脆弱实现

但是,由于您使用的是SSL连接,另一种可能是对正在使用的证书存在分歧。可能是服务器端证书是自签名的,并且您没有在启动连接的浏览器中安装它(或者它使用某种内部CA,并且该CA无法识别)。不幸的是,大多数浏览器在遇到web套接字的糟糕证书时不会提供太多信息-没有“您想信任此证书吗”警报(与https不同)

您还应该检查您的票证是否需要进行URL编码-该字符串中的“=”字符可能需要替换为%3d(URL编码)。不过我确实不记得服务器端web套接字处理程序是否需要这样做