2011-06-22 11 views
1

私はコロナSDKを使用して、luasocketを必要とするシンプルなアプリケーションを作っています。 コロナSDKは非同期http reqを行うluasocketをサポートしています。ルア機能を検出して迅速に応答するには時間がかかりすぎますか?

しかし、私はluasocketからUDPを使いたいです。 luasocketからのUDP receive()メソッドは、メッセージを受信するまでブロックしています。

コロナSDKはLuaLanesをサポートしていません。 他のスレッドでudpメッセージを聞くことは全く不可能です。

この場合、udp.receive()の関数が応答するのに時間がかかりすぎる場合、luaに検出/キャンセルするメソッド/トリック/回避策があると考えていますか?

ありがとうございます。

答えて

2

updタイムアウトを設定しましたか?

ページの下部にあるhttp://w3.impa.br/~diego/software/luasocket/udp.htmlを参照してください。

+1

あなたは平均時間で他のことを行うには、このタイムアウトといくつかのコルーチンベースのラッパーを使用することができます。 – jpjacobs

3

はい...コルーチンやイベント.. http://www.lua.org/pil/9.4.html

火コルーチンを再開し、その関数で呼び出す関数ごとに100ミリ秒を...と言うタイマーイベント...コルーチンで

。入ってくるデータをループで読み取って、完了していない場合は結果を得ることができます。

例はよくこのことを説明する。..

幸運を... F.

関連する問題