[]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来就没问题了
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来就没问题了
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
cuixueying
赞同来自:
补充:
flash的socket链接默认会去请求服务器的843端口,然后服务器端会出返回一个策略文件,客户端收到策略文件回应后,再链接服务器端的websocket(socket)端口
首先服务器上需要安装java环境
确认下你们的服务器是window还是linux
我已经把window环境下的843中转服务器上传(843.zip),文件包下有使用说明,请参考
linux环境的服务器晚些时候提供...
jiahuafu
赞同来自:
现在拿LAYA转FLASH有问题,没有事件