2009-11-10 29 views
0

我有一個XMLSocket和我打電話發送兩次相同的功能。第一次發送有效,但第二次不發送? XMLSocket是否僅限於每幀發送一條消息?我是否必須對消息進行排隊並具有一個onEnterFrame函數來檢查隊列併爲幀發送一條消息?XMLSocket是否可以在一個框架中多次發送?

+0

它以什麼方式不起作用?您是否收到錯誤消息,或者服務器沒有收到第二個電話的數據,或者第二個電話沒有收到該事件? XMLSocket.send是異步的,因此它不會立即發送數據 – Les 2009-11-10 15:15:32

+0

服務器從不接收數據。 – zooropa 2009-11-10 20:31:58

+0

你能否給我們提供一個測試用例? (重現問題所需的最小代碼量)。 – Jotham 2009-11-11 03:35:23

回答

1

當您使用套接字類時,您必須刷新輸出緩衝區。例如:

public static function write(msg:String):void 
{ 
    socket.writeUTFBytes(msg); 
    socket.flush(); 
} 

但是,你是說你正在使用XMLSocket類?那個提供較低級別的可能性,並且應該已經爲你做了沖洗,所以如果你的代碼是正確的,我不認爲你會遇到這個問題。

您可以嘗試使用較低級別的Socket類,並在每次調用write方法時手動刷新輸出緩衝區。參見:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/Socket.html

+0

我需要fla才能在Windows Mobile設備上工作,所以我必須使用沒有Socket類的Flash 7。 – zooropa 2009-11-12 12:26:00

相關問題