Closed teamikl closed 9 years ago
可能なら Keep-Alive をクライアント側から先に送ってみる
Python での setInterval 実装
import time
from threading import Thread
def setInterval(func, interval):
def task(func, interval):
while 1:
time.sleep(interval)
func()
thread = Thread(target=task, args=(func, interval), daemon=True)
thread.start()
return thread
Keep-Aliveがサーバからの応答時のみになっている為、 受信バッファが込み合ってる時は、ラグが生じる。
Keep-Alive 送信は、クライアント・サーバ双方が独立したタイミングで送る。 受信時には時間をセットし、受信タイマーでは、Keep-Aliveが時効の場合切断。(サーバ側)
大きなオーディオchunkがある場合、Keep-Aliveやチャットメッセージの遅延に繋がるので、 送信順は、Priority Queue で優先度を指定。Keep-Alive > Chat Message, User Channel Info > Audio 但し、直列化が必要なデータの順序は変更しない。
NINJAM の回線切断時の例外が捕捉できない
この課題は、#4 のサブタスクです。
問題点
調査
解決策 / 作業