actionscript-3 - AS3 中套接字自动断开

标签 actionscript-3 sockets serversocket keep-alive

我在 as3 中创建了一个 Socket 和一个 ServerSocket 对象,然后使用 connect 方法通过向其传递主机和端口来连接套接字。此外,我还让 ServerSocket 对象监听来自套接字(而不是我刚刚创建的套接字)的传入连接。当ServerSocket检测到连接并开始接收数据时,套接字对象会自动断开连接。所以我想知道如何在套接字对象中保持连接处于事件状态..

最佳答案

我将其发布为答案,而不是仅仅将此问题作为重复项引用,因为您的问题与我要在此处引用的问题和答案并不完全相同。然而,我链接到的答案提供了资源,可以帮助您了解连接套接字背后的安全模型,我认为这就是这里的问题:

air 2.6 serversocket and actionscript 3 socket connection

链接资源的摘录,演示了“握手”,其中策略文件被传递到连接套接字:

private function handshakeHandler( event:ProgressEvent ):void
{
    var socket:Socket = event.target as Socket;

    //Read the message from the socket
    var message:String = socket.readUTFBytes( socket.bytesAvailable );
    logCallback( "Received: " + message);
    if( message == "" )
    {
        var policy:String = '\x00';
        socket.writeUTFBytes( policy );
        socket.flush();
        socket.close();
        logCallback("Sending policy: " + policy);
    } else if ( message == "BEGIN" )
    {
        socket.removeEventListener( ProgressEvent.SOCKET_DATA, handshakeHandler );
        socket.addEventListener( ProgressEvent.SOCKET_DATA, socketDataHandler );
        socket.writeUTFBytes( "READY" );
        socket.flush();
    } 
}

The policy file used in this example is:

<cross-domain-policy>
    <allow-access-from domain="*" to-ports="8087" />
    </cross-domain-policy>\x00

关于actionscript-3 - AS3 中套接字自动断开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9654174/

相关文章:

flash - 文档类中的阶段为空? ActionScript 3.0 Flash CS5

sockets - window 电话 7 : Socket Programming

python - Python 套接字模块的问题

Python 在第一个字符后中断字符串

java - 使基本的 Java 文件服务器成为多线程的

actionscript-3 - 将组件添加到 Swf 库的正确方法是什么?

flash - 如何解决 ActionScript 3 (AS3) 中的关闭问题

c++ - TCP IOCP 在 acceptex 之后收不到

java - 服务器接受大量持久的客户端连接

apache-flex - 使用 Flex 3 绘制这样的东西的最佳方法是什么?