2017-08-17 107 views
1

我试图将我的空气应用程序连接到不在我的域中的websocket服务器。我在GitHub上发现了这个代码:https://github.com/theturtle32/AS3WebSocket,但我无法连接到服务器。将空气/闪光灯应用程序连接到websocket服务器

这里是我的代码:

<fx:Script> 
    <![CDATA[ 
     import com.worlize.websocket.WebSocket; 
     import com.worlize.websocket.WebSocketErrorEvent; 
     import com.worlize.websocket.WebSocketEvent; 

     private var websocket:WebSocket; 

     private function handleCreationComplete():void 
     { 
      websocket = new WebSocket("wss://echo.websocket.org", "*"); 

      websocket.debug = true; 

      websocket.addEventListener(WebSocketEvent.CLOSED, handleWebSocketClosed); 
      websocket.addEventListener(WebSocketEvent.OPEN, handleWebSocketOpen); 
      websocket.addEventListener(WebSocketEvent.MESSAGE, handleWebSocketMessage); 
      websocket.addEventListener(IOErrorEvent.IO_ERROR, handleIOError); 
      websocket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSecurityError); 
      websocket.addEventListener(WebSocketErrorEvent.CONNECTION_FAIL, handleConnectionFail); 

      websocket.connect(); 
     } 

     private function handleIOError(event:IOErrorEvent):void 
     { 
      trace("error"); 
     } 

     private function handleSecurityError(event:SecurityErrorEvent):void 
     { 
      trace("sec error"); 
     } 

     private function handleConnectionFail(event:WebSocketErrorEvent):void 
     { 
      trace("connection error"); 
     } 

     private function handleWebSocketClosed(event:WebSocketEvent):void 
     { 
      trace("close"); 
     } 

     private function handleWebSocketOpen(event:WebSocketEvent):void 
     { 
      trace("connected !"); 
     } 

     private function handleWebSocketMessage(event:WebSocketEvent):void 
     { 
      trace("message !"); 
     } 


    ]]> 
</fx:Script> 

连接到echo.websocket.org端口443 插座进行连接启动SSL/TLS GET/HTTP/1.1

主持人:echo.websocket.org

升级:WebSocket的

连接:升级

二段的WebSocket密钥:OCZu2AgYt0WgBcLFRV5EyQ ==

来源:*

二段的WebSocket-版本:13

插座中拔出 close

只有我的handleWebSocketClosed方法被解雇,我的handleWebSocketOpen永远不会被解雇(怪异......)。

我可以将服务器连接到pur javascript,所以我知道这不是服务器问题。

在GitHub上说明的项目,我可以读:

此客户端将不会与草案-75或草案-76 部署在互联网上/ -00服务器的工作。这只是最近的RFC6455 标准

我不知道这是为什么我无法连接的原因...

这是与连接到WebSocket服务器的方式as3?

谢谢,对不起我的英文不好

回答

1

看看html5 Websocket with SSL,好像试图通过SSL连接,需要做一些修改,以使其使用flash.net.SecureSocket。你可能需要重写一些AS3WebSocket来使用它来代替flash.net.Socket。

+0

谢谢你的回复。当我在代码中使用'ws'而不是'wss'时,这是行得通的。为什么?我不知道......但是当我用我的真实网址(我可以在这里透露)进行测试时,它无法正常工作......收到HTTP状态:403 Forbidden 收到101以外的HTTP响应代码。实际响应代码:403禁止继续搜索... –

相关问题