問題タブ [nio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
16210 参照

java - Java nio を使用して完全なサーバー クライアント通信を作成する方法

私はJava NIOが初めてです。Java NIO を使用して単純なサーバー クライアント通信プログラムを作成する必要があります。

サンプル プログラムやリンクはありますか?

0 投票する
6 に答える
2224 参照

java - ファイル制限を増やすことなく、Javaで20000クライアントを開くにはどうすればよいですか?

ソケットチャネルを開くときはいつでも。クライアントが受け入れる場合、1つのファイル記述子が内部で作成されるため、Linuxで最大1024のクライアントを作成できます。
しかし、Linuxでファイル記述子の制限を増やすことなく(ulimit -n 20000)、より多くのクライアントを作成したいのですが、Javaでより多くのソケットを作成するにはどうすればよいですか?

0 投票する
5 に答える
10057 参照

java - Java NIO での非同期チャネルのクローズ

単純な nio ベースの Java サーバーがあるとします。例(簡略化されたコード):

したがって、これは単純なシングル スレッドのノンブロッキング サーバーです。

問題は次のコードにあります。

同じスレッド(接続と読み取りデータを受け入れるスレッド)でチャネルを閉じると、すべて正常に動作します。しかし、別のスレッドで接続が閉じられたときに問題が発生しました。例えば

このシナリオでは、ソケットがサーバーで TIME_WAIT 状態、クライアントで ESTABLISHED 状態になりました。そのため、接続が正常に閉じられません。何が問題なのですか?私が逃したものは何ですか?

0 投票する
4 に答える
9363 参照

java - SSL とソケットチャネル

理想的には、単純なSSLSocketChannel.

通常のメッセージを読み書きするコンポーネントを既に持っていますがSocketChannel、これらの接続の一部では、ネットワーク上で SSL を使用する必要があります。ただし、これらの接続に対する操作は同じです。

SSLSocketChannel無料の実装(適切なセレクターを使用)または同様のものを知っている人はいますか?私はこれを見つけましが、ベンダーが SUN ではないため、セレクターはそれを受け入れません。

単純なオブジェクトを介したネットワーク データの挿入と取得から read_from/writing_to ネット ロジックを切り離して、腹を立てSSLEngineずに a を使用するようにしていますが、それを正しく実装するのは本当に難しいです。 SSLプロトコルの内部...

0 投票する
1 に答える
1147 参照

java - ファイルの読み取りが完了したことを SocketChannel はどのように認識しますか?

クライアントからデータを読み取るために、ソケットチャネルと NIO の概念を使用しています。
ファイルの読み取りが完了したことをソケット チャネルはどのように認識しますか?

データが小さい場合は一度にデータを読み取っていますが、データが大きい場合は、データを断片的に読み取って最終的に同じデータを取得します。チャネルがデータの終わりをどのように理解しているかを知りたいです。
ファイルの読み込みがいつ完了したかを知る方法はありますか?

0 投票する
1 に答える
7921 参照

java - ソケットチャネルにデータを書き込む方法

javanioを使用してクライアントからデータを送受信するための小さな作業プログラムはありますか。

実際、ソケットチャネルに書き込むことはできませんが、受信データを読み取ることはできます。ソケットチャネルにデータを書き込む方法

ありがとうDeepak

0 投票する
3 に答える
3242 参照

java - Java で SocketChannel を使用して \n 送信してから読み取る方法

SocketChannelクライアント/サーバー アプリケーションに Java クラスを使用しています。データを送受信できます。しかし、データに含まれている場合'\n'、正しいデータを読み取れません。例えば

US-ASCII デコードを使用しています。この種の問題をどのように克服できますか?

ありがとう、ディーパック

0 投票する
1 に答える
2071 参照

java - Java nio ソケットチャネルを使用して大きなデータを書き込む際の問題

java nio を使用して小さなデータを送信できます。

しかし、非常に大きなデータを送信したい場合、ソケット チャネルは正常に機能しませんでした。

すべてのデータが送信されます。

サーバーからデータを読み取りたいので、BufferedInputStreaReader.readLine(); を使用しています。この場合、エラーは発生せず、送信したデータを取得できません

ありがとうディーパック

0 投票する
1 に答える
1634 参照

java - ソケットで巨大なデータを読み取り、socketchannel にも書き込む方法

ソケットの DataInputStream を使用して非常に大きなデータを読み取る方法 データが String 形式で、長さが 1,00,000 文字を超える場合。

また、JavaでSocketChannelを使用してそのビッグデータを書き込む方法は?

0 投票する
3 に答える
201 参照

java - NIOでのスレッド実装に必要なヘルプ

1つのスレッドを使用してクライアントからデータを読み取り、別のスレッドを使用してクライアントにデータを書き込むNIOServerを作成したいと思います。また、クライアント接続の受け入れは他のスレッドで行われます。

オンラインヘルプはありますか

ありがとうDeepak