Flash客户端没有收到来自Node.js的套接字数据

我有问题从socket.io接收数据到Flash(动作)。

我试过了:

服务器(nodejs)socket.io:

 var io = require('socket.io').listen(9000); setInterval(function() { io.sockets.emit('hello'); console.log("test"); }, 500 ); 

客户端(动作)套接字();

 import flash.net.Socket; import flash.events.*; var socket:Socket = new Socket(); Security.allowDomain("*"); socket.connect("localhost", 9000); socket.addEventListener(Event.CONNECT, onConnect); socket.addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler); function onConnect( evt:Event ):void { trace( "Connected to flash"); } function socketDataHandler(evt:ProgressEvent):void { trace("socketDataHandler: " + evt); } 

产量

Flash连接到服务器并跟踪“连接到闪存”,但无法接收数据。 有任何想法吗?

请参阅http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/net/Socket.html#includeExamplesSummary,并查看名为readResponse的方法。

您需要从stream中读取字节。

或者只是使用这个例子,你会知道客户端function没有问题。

那么我不认为这将工作,因为socket.io有它自己的协议,使用几个传输方法,如websocket。 但是,你的行动脚本只是有一个正常的闪光sockets,我相信。 最好的是,你使用正常的socket.io JavaScript客户端,并使用消息传递系统与您的动作脚本客户端进行通信。 在这种情况下,我认为这个链接对你来说很有用,其中描述了这个消息。

更新:

这些库可能是你在找什么: https : //github.com/ascorbic/socket-io-actionscript https://github.com/simb/FlashSocket.IO