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

Flash客户端中未接收到来自Node.js的套接字数据,flash,actionscript-3,sockets,node.js,Flash,Actionscript 3,Sockets,Node.js,从socket.io到Flash(actionscript)接收数据时遇到问题 我试过: 服务器(nodejs)socket.io: var io = require('socket.io').listen(9000); setInterval(function() { io.sockets.emit('hello'); console.log("test"); }, 500 ); 客户端(actionscript)套接字() import flash.net.Socket; import f

socket.io
到Flash(actionscript)接收数据时遇到问题

我试过:

服务器(nodejs)socket.io:

var io = require('socket.io').listen(9000);
setInterval(function() {
io.sockets.emit('hello');
console.log("test");
}, 500 );
客户端(actionscript)套接字()

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成功连接到服务器并跟踪“已连接到Flash”,但无法接收数据。有什么想法吗?

请查看名为
readResponse
的方法

您需要从流中读取字节

或者仅仅使用这个例子,您就会知道客户端功能没有问题

请参阅并查看名为
readResponse
的方法

您需要从流中读取字节


或者仅仅使用这个例子,您就会知道客户端功能没有问题

我认为这行不通,因为socket.io有自己的协议,它使用了几种传输方法,比如websocket。但我相信你的动作脚本只有一个普通的闪存盘。最好是使用普通的socket.io javascript客户端,并使用消息传递系统与动作脚本客户端通信。在本例中,我认为链接对您很有用,其中描述了此消息传递

更新:

这些库可能是您正在寻找的:
https://github.com/simb/FlashSocket.IO

我认为这行不通,因为socket.io有自己的协议,它使用多种传输方法,如websocket。但我相信你的动作脚本只有一个普通的闪存盘。最好是使用普通的socket.io javascript客户端,并使用消息传递系统与动作脚本客户端通信。在本例中,我认为链接对您很有用,其中描述了此消息传递

更新:

这些库可能是您正在寻找的:
https://github.com/simb/FlashSocket.IO

谢谢。问题仍然存在。flash无法从socket.io读取数据,我认为服务器代码中存在问题。有人能修改服务器代码吗?我不认为服务器端有什么问题,因为在我看来是正确的,也许你应该先用普通的JS客户端测试一下,以确保正确。谢谢。问题仍然存在。flash无法从socket.io读取数据,我认为服务器代码中存在问题。有人能更正服务器代码吗?我不认为服务器端有任何问题,因为我认为它是正确的,也许你应该先用普通的JS客户端测试它,以确保.socket.io可以与actionscript()通信。当我运行示例时,客户端成功地连接到服务器,但它无法接收数据。:)它可以连接,因为它使用web套接字,但它不能与建立在诸如web套接字等传输方法上的socket.io协议通信。不管怎样,我做了一个搜索并更新了我的答案。我在flash as3中运行代码,我收到了以下错误:1172:找不到定义mx.utils。mx.core。mx.事件:(socket.io可以与actionscript:通信)当我运行示例时,客户端成功连接到服务器,但它无法接收数据。:)它可以连接,因为它使用web套接字,但是它不能与socket.io协议通信,该协议建立在诸如web套接字之类的传输方法上。无论如何,我做了一次搜索并更新了我的答案。我在flash as3中运行代码,收到了以下错误:1172:找不到定义mx.utils。mx.core。mx.events.:(也许这可以帮助你写一篇由Pieter Michels撰写的文章。请看一看这篇帮助我的教程:>也许这可以帮助你写一篇由Pieter Michels撰写的文章。请看一看这篇帮助我的教程:>