2011-12-31 7 views
2

socket.ioからFlash(actionscript)にデータを受信する際に問題があります。Node.jsのソケットデータがFlashクライアントで受信されません

私が試した:

サーバー(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が "点滅する接続された" サーバーおよびトレースに成功し接続されているが、それは、データを受信することはできません。何か案は?

+0

https://github.com/ascorbic/socket-io-actionscript はたぶんこれはあなたのhttpを助けることができます。/post-10519721421/socket-policy-file-as-for-node-js-socket-server Pieter Michelsによる記事です。 –

+0

私に役立つこのチュートリアルをご覧ください: http://www.rivellomultimediaconsulting.com/node-js-for-flash-and-flex-introduction/

答えて

0

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/Socket.html#includeExamplesSummaryを参照し、readResponseというメソッドを見てください。

ストリームからバイトを読み取る必要があります。

または、その例を使用すると、クライアント側の機能に問題がないことがわかります。

+0

ありがとうございます。問題はまだあります。フラッシュはsocket.ioからデータを読み取ることができません、私はサーバーコードの問題と思います。誰でもサーバーコードを修正できますか? – user1119383

+0

お願いhelpppppp – user1119383

+0

サーバー側に何か問題があるとは思わないが、正しいと思われるので、通常のJSクライアントで最初にテストしてください。 –

0

私はそれがうまくいくとは思いません。なぜなら、socket.ioにはwebsocketなどのいくつかの転送方法を使用する独自のプロトコルがあるからです。しかし、あなたのアクションスクリプトは、私が信じている通常のフラッシュソケットを持っているだけです。最高ののは、通常のsocket.io javascriptクライアントを使用し、メッセージングシステムを使用してアクションスクリプトクライアントと通信することです。この場合、私はthisリンクが役に立つと思っています。ここではこのメッセージングについて説明しています。

更新:

これらのライブラリは、あなたが探しているものかもしれ:// wellconsidered:https://github.com/simb/FlashSocket.IO

+0

socket.ioはwhit actionscriptを連想させることができます:) – user1119383

+0

私がこの例を実行すると、クライアントはサーバーに接続できますが、データは受信できません。 :) – user1119383

+0

Webソケットを使用しているので接続できますが、Webソケットなどの転送メソッドで構築されたsocket.ioプロトコルとは通信できません。とにかく私は検索して答えを更新しました。 –

関連する問題