[]LayaFlash把socket转成webSocket后监听不到connect事件(已解决)

AS3代码如下
package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.Socket;
    
    public class TestWebSocket extends Sprite
    {
        public var s:Socket;
        
        public function TestWebSocket()
        {
            s = new Socket();
            
            var x:XML = new XML(); 
            
            s.addEventListener(Event.CONNECT,connectHandler);
            
            s.connect("127.0.0.1",8000);
        }        
        
        public function connectHandler(e:Event):void
        {
            trace("connectHandler:" + e.type);
            
            
            s.writeUTF("Hello,World!");//这儿改成 writeUTFBytes
            s.flush();
        
        }
        
        
        
        
    }
}
 
转换后,服务器那边显示连接上了,但这边没有connect事件
 
在转换后的JS里,找到onopen=
这个函数也无法触发
 
现查明是和服务端有关系,服务端里判断是TEXT FRAME还是BINARY FRAME,
LAYA发的判断为BINARY FRAME,
按照BINARY来就没问题了
已邀请:

cuixueying

赞同来自:

LayaFlash下的Socket转成H5后变成了WebSocket,需要服务器做少量修改,请参考:WebSocket

补充:
    flash的socket链接默认会去请求服务器的843端口,然后服务器端会出返回一个策略文件,客户端收到策略文件回应后,再链接服务器端的websocket(socket)端口
     首先服务器上需要安装java环境
     确认下你们的服务器是window还是linux
     我已经把window环境下的843中转服务器上传(843.zip),文件包下有使用说明,请参考
     linux环境的服务器晚些时候提供...
 

jiahuafu

赞同来自:

我已做了一个WEB SOCKET网页聊天的例子,服务器没问题,正常的
现在拿LAYA转FLASH有问题,没有事件

要回复问题请先

商务合作
商务合作