0

我只是在 actionscript 3 中制作 IRC,但现在我对 Socket 有一点问题。连接很好,但是当我不重播 ping 时我会断开连接,所以我的问题是如何在 AS3 中创建 pong?我确实搜索了一些教程,但我找不到所有的,有些解释不好理解。如果有人可以帮助我的好方法。谢谢!

就我而言:

var servername:String = "irc.example.com"; 

var portnumber:int = 6667; 

var _sock:Socket = new Socket(); 

_sock.addEventListener(Event.CONNECT, onConnect);

_sock.addEventListener(ProgressEvent.SOCKET_DATA, onSocketData);

_sock.connect(servername, portnumber);

function onConnect(evt:Event):void {     
    tServerInfo.text = "Verbinden met " + servername;     
}

function onSocketData(event:ProgressEvent):void {     
    var socketdata:String;     
        while(_sock.bytesAvailable) {         
            socketdata = _sock.readUTFBytes(_sock.bytesAvailable);
            tServerInfo.text = socketdata;         
        }     
}
4

1 回答 1

0

Ping 或 keep-alive 消息没有什么特别之处。它们只是按计划发送的普通消息。你只需要设置一个Timer来发送一个ping消息(可以是任何东西),比如15秒左右,以保持套接字打开,否则它将关闭,因为它没有被使用。

您还需要一些代码来在阅读这些消息时忽略它们,但这很简单。

于 2013-11-08T23:19:03.610 回答