[英]Socket data from Node.js is not received in the Flash client
我在将数据从socket.io
接收到Flash(动作脚本)时遇到问题。
我试过了:
服务器(nodejs)socket.io:
var io = require('socket.io').listen(9000);
setInterval(function() {
io.sockets.emit('hello');
console.log("test");
}, 500 );
客户端(动作脚本)Socket();
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成功连接到服务器并跟踪“ Connected to flash”,但它无法接收数据。 有任何想法吗?
请参阅http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/net/Socket.html#includeExamplesSummary并查看名为readResponse
的方法。
您需要从流中读取字节。
或仅使用该示例,您就会知道客户端功能没有任何问题。
好吧,我认为这行不通,因为socket.io有它自己的协议,该协议使用了多种传输方法,例如websocket。 但是我相信您的动作脚本只有一个普通的闪存插槽。 最好的方法是使用普通的socket.io javascript客户端,并使用消息传递系统与操作脚本客户端进行通信。 在这种情况下,我认为此链接对您很有用,其中描述了此消息传递。
更新:
这些库可能正是您要寻找的: https : //github.com/ascorbic/socket-io-actionscript https://github.com/simb/FlashSocket.IO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.