سوکت نویسی با فلش؟

دوستان کسی با سوکت ها کار کرده است
نمونه های زیادی توی اینترنت هست اما وقتی اجرا می کنم کار نمی کند

آیا تنظیمات خاصی توی لوکال هاست باید بدهم
 

triton

کاربر فعال
خیر دوست عزیز
شما باید دوبرنامه داشته باشید که به طور همزمان اجرا بشوند...یکی فرستنده اطلاعات از طریق سوکت و دیگری گیرنده اون اطلاعات، و بعد از اون تست را انجام بدهی.
 
خیر دوست عزیز
شما باید دوبرنامه داشته باشید که به طور همزمان اجرا بشوند...یکی فرستنده اطلاعات از طریق سوکت و دیگری گیرنده اون اطلاعات، و بعد از اون تست را انجام بدهی.

این لینک نمونه کلاس سوکت است
http://stackoverflow.com/questions/28824959/connect-two-clients-using-as3-serversocket-and-socket

آیا باید روی سرور سرویس روم را فعال کنم ؟
کلا بیرون از فلش و روی سرور چه کاری باید انجام داد ؟
 

Insomnia

کاربر فعال
روی سرور هر کاری میشه انجام داد و با سوکت میتوانید درخواست و پاسخ ها رو داشته باشید.
برای کار کردن و آزمایش روی سرور لوکال میتونید تست بگیرید. با هر زبانی که سمت سرور باشه، حالا یا سرور رو همان کامیوتر هست که میشه لوکال یا روی یک سرور بیرونی است که نشانی آدرس و آی پی آن مشخص خواهد بود.

نمونه برای وصل شدن به سرور خارجی
PHP:
private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            
            
            var socket:Socket = new Socket();
            socket.addEventListener(Event.CONNECT, onConnect);
            
            socket.addEventListener(IOErrorEvent.IO_ERROR, onError);
            socket.connect("www.lazygeek.ir", 110);
        }
        
        private function onError(e:IOErrorEvent):void 
        {
            trace(e.text);
        }
        
        private function onConnect(e:Event):void 
        {
            trace("socket is now connected");
        }
 

akherat

مدیر انجمن
بدون مدیا سرور اصلا خوب نیست - پکت هاش تو ریکوئست بیش از یکی میس میره :دی
 
سلام این کد خود adobe هست. روی پورت 0 کار می کند ولی روی IP ها و پورت های دیگر کار نمی کند و این error را می دهد
سوال 1: برای تست زدن حتما باید دوتا سیستم داشته باشم
2- چگونه پورتی مخصوص را باز کنم
---------------------------------------------------------------------
Error: Error #2002: Operation attempted on invalid socket.
at flash.net::ServerSocket/internalBind()
at flash.net::ServerSocket/bind()
at ServerSocketExample/bindd()[C:\Documents and Settings\Administrator\Desktop\event fingher\soket 1\ServerSocketExample.as:54]
---------------------------------------------------------------------
[JSS]
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
import flash.events.ServerSocketConnectEvent;
import flash.net.ServerSocket;
import flash.net.Socket;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.utils.ByteArray;

public class ServerSocketExample extends Sprite
{
private var serverSocket:ServerSocket = new ServerSocket();
private var clientSocket:Socket;


private var localIP:TextField;
private var localPort:TextField;
private var logField:TextField;
private var message:TextField;


public function ServerSocketExample()
{
setupUI();
}

private function onConnect( event:ServerSocketConnectEvent ):void
{
clientSocket = event.socket;
clientSocket.addEventListener( ProgressEvent.SOCKET_DATA, onClientSocketData );
log( "Connection from " + clientSocket.remoteAddress + ":" + clientSocket.remotePort );
}

private function onClientSocketData( event:progressEvent ):void
{
var buffer:ByteArray = new ByteArray();
clientSocket.readBytes( buffer, 0, clientSocket.bytesAvailable );
log( "Received: " + buffer.toString() );
}


private function bind( event:Event ):void
{
if( serverSocket.bound )
{
serverSocket.close();
serverSocket = new ServerSocket();

}
serverSocket.bind( parseInt( localPort.text ), localIP.text );
serverSocket.addEventListener( ServerSocketConnectEvent.CONNECT, onConnect );
serverSocket.listen();
log( "Bound to: " + serverSocket.localAddress + ":" + serverSocket.localPort );
}

private function send( event:Event ):void
{
try
{
if( clientSocket != null && clientSocket.connected )
{
clientSocket.writeUTFBytes( message.text );
clientSocket.flush();
log( "Sent message to " + clientSocket.remoteAddress + ":" + clientSocket.remotePort );
}
else log("No socket connection.");
}
catch ( error:Error )
{
log( error.message );
}
}


private function log( text:String ):void
{
logField.appendText( text + "\n" );
logField.scrollV = logField.maxScrollV;
trace( text );
}


private function setupUI():void
{
localIP = createTextField( 10, 10, "Local IP", "0.0.0.0");
localPort = createTextField( 10, 35, "Local port", "0" );
createTextButton( 170, 60, "Bind", bind );
message = createTextField( 10, 85, "Message", "Lucy can't drink milk." );
createTextButton( 170, 110, "Send", send );
logField = createTextField( 10, 135, "Log", "", false, 200 )

this.stage.nativeWindow.activate();
}

private function createTextField( x:int, y:int, label:String, defaultValue:String = '', editable:Boolean = true, height:int = 20 ):TextField
{
var labelField:TextField = new TextField();
labelField.text = label;
labelField.type = TextFieldType.DYNAMIC;
labelField.width = 100;
labelField.x = x;
labelField.y = y;

var input:TextField = new TextField();
input.text = defaultValue;
input.type = TextFieldType.INPUT;
input.border = editable;
input.selectable = editable;
input.width = 280;
input.height = height;
input.x = x + labelField.width;
input.y = y;

this.addChild( labelField );
this.addChild( input );

return input;
}

private function createTextButton( x:int, y:int, label:String, clickHandler:Function ):TextField
{
var button:TextField = new TextField();
button.htmlText = "<u><b>" + label + "</b></u>";
button.type = TextFieldType.DYNAMIC;
button.selectable = false;
button.width = 180;
button.x = x;
button.y = y;
button.addEventListener( MouseEvent.CLICK, clickHandler );

this.addChild( button );
return button;
}
}
}



[/JSS]
 

جدیدترین ارسال ها

بالا