繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM