1

これで、サーバーがクライアントからのすべてのメッセージを読み取ります。今では一方向のコミュニケーションです。サーバーからクライアントにメッセージを送りたい。これで、キーがREADABLE STATEのときにサーバーがメッセージを読み取り、書き込み可能状態になりませんでした。キーが書き込み可能に変更されたときに知りたいだけです。

4

2 に答える 2

5

キーがいつ書き込み可能に変わるか知りたいだけです

ほとんどの場合、書き込み可能です。OP_WRITEソケット送信バッファに空き領域がある場合は常にトリガーされます。これはほとんどの場合です。電話write(),をかけるだけで、リターンがゼロになった場合は、興味を持ち始めOP_WRITEます。これを使用して、チャンネルが再び書き込み可能になったことを通知します。

ただし、からの長さがゼロのリターンがあった場合を除いて、このイベントを待つ必要はありませんwrite().。通常の場合は、準備ができたときに書き込むだけで、ゼロを返すときとそうでないOP_WRITEときの間の間隔でのみ登録する必要があります。 write()t登録を再試行して起動させた後OP_WRITE

于 2012-07-10T00:42:55.080 に答える
-1

key.interestOps(SelectionKey.OP_WRITE);

于 2012-07-09T03:38:25.640 に答える