2

LuaソケットとTCPを使用してチャットクライアントとサーバーのようなIRCを作成しています。私が理解しようとしている主なことは、クライアントとサーバーにメッセージをリッスンさせ、同時に送信させる方法です。サーバーでsocket:accept()を実行すると、接続が作成されるまでプログラムが停止します。複数の接続を受け入れてテーブルに保存する方法はありますか?

4

2 に答える 2

4

これは、Copas のようなディスパッチャによって解決された問題とまったく同じように見えます。これを読む必要があります: http://keplerproject.github.com/copas/manual.html#why - Copas を使用したくない場合でも、その問題を解決する方法を理解するのに役立ちます。

select() 基本的に、前に使用する必要がありますaccept()。それを行った場合でも、実際にはaccept()すぐに返されるとは限らないため、使用する必要があることに注意してくださいsettimeout()http://w3.impa.br/~diego/software/luasocket/socket.html#selectを参照)

于 2013-03-04T10:38:42.407 に答える