問題タブ [tcp-ip]
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.
networking - UNIX サーバー間の TCP ポートでのデータ転送の制限
私はネットワーキングについてそれほどの洞察を持っていません。
TCP 接続を使用して、クライアントからサーバーへの呼び出しを行います。
小さいデータ サイズで問題なく動作します。より大きなサイズのデータを要求しようとすると、API 呼び出しが突然終了します。
したがって、UNIXサーバー間(clinet - サーバー)間のリクエストごとのデータ転送に制限があるかどうかを知りたいだけです。そうであれば、それを増やす方法はありますか。
制限がある場合は、sysad の助けを借りて問題を解決できます。
前もってありがとうマニッシュ
sockets - バインディングポートなしでユーザーモードNATを作成するにはどうすればよいですか?
独自のユーザーモードNATアプリケーションを作成したいと思います。
私は次のスキームを持っています:
VM2[192.168。8.2 ]------[192.168。8.1 ]Win2003[192.168。9.1 ]------[192.168。9.2 ] VM1
VM3[192.168。8.3 ] _ /
VM4[192.168。8.4 ] _ /
- 8.1および9.1インターフェイスでRAWIPパケットをキャプチャしています。
- 8.1からの一部のパケットは、次の方法で9.1インターフェイスに転送されます。8.2->9.2は9.1->9.2に置き換えられます
- 9.1からの一部のパケットは次の方法で8.1インターフェースに転送されます:9.2->9.1は9.2->8.2に置き換えられます
私のアプリケーションはポートをまったくバインドしていません-それはインターフェースからキャプチャしているだけです。
私はこのシナリオを見ました:
- 8.2->9.2を9.1->9.2に変換するとSYNフラグが含まれます
- 9.2->9.1は9.2->8.2に変換されますSYN+ACKフラグが含まれています
- そして、ステップ2には、RSTフラグ付きの9.1->9.2が含まれています。
Windows Server 2003は、NAT接続をリセットします。ポートをバインドしたくありません。
どうすればこれを処理できますか?
アップデート:
user1202136、次のことはどのように可能ですか。
Windowsファイアウォールを使用して、ユーザースペースNATが使用するポートからのRSTパケットをブロックします。
独自のNDISドライバーを作成せずに?
tcp - アプリケーションに tcp パケットが到着しますか?
クライアントサーバー環境では、クライアントが「GET /index.php ... etc」を要求するパケット(source ip / dest ip / ports ... etc)を
送信すると、サーバーアプリケーション(デーモン)にパケット全体が到着します(データの全ビット) mac、IP、ポート、tcp フラグ、ペイロードを含む? それともペイロードだけですか?
スクリプトがリモートアドレスを読み取る方法がわからないため( echo $_SERVER['REMOTE_ADDR']; など)
ruby - SO_RCVTIMEO ソケット オプションを介して Ruby でソケット タイムアウトを設定する
Ruby で SO_RCVTIMEO ソケット オプションを使用してソケットをタイムアウトさせようとしていますが、最近の *nix オペレーティング システムでは効果がないようです。
Ruby の Timeout モジュールを使用することはオプションではありません。これは、タイムアウトごとにスレッドを生成して結合する必要があり、コストが高くなる可能性があるためです。低いソケット タイムアウトを必要とし、スレッド数が多いアプリケーションでは、基本的にパフォーマンスが低下します。これは、 Stack Overflowを含む多くの場所で指摘されています。
この件に関する Mike Perham の優れた投稿を読みました。問題を実行可能なコードの 1 つのファイルに減らすために、リクエストを受信し、リクエストで送信された時間を待機し、その後、接続を閉じます。
クライアントはソケットを作成し、受信タイムアウトを 1 秒に設定してから、サーバーに接続します。クライアントは、5 秒後にセッションを閉じるようにサーバーに指示し、データを待ちます。
クライアントは 1 秒後にタイムアウトするはずですが、代わりに 5 秒後に正常に接続を閉じます。
TCPSocket (自動的に接続) でも同じことを試してみましたが、redisや他のプロジェクトで同様のコードを見てきました。
getsockopt
さらに、次のように呼び出すことで、オプションが設定されていることを確認できます。
このソケットオプションの設定は実際に誰にとっても機能しますか?
wcf - WCF サービスから TCP/IP への接続時に、基になるプロバイダーが Open Entity Framework で失敗しました
Entity Framework に接続された WCF サービスにアクセスする MVC アプリケーションがあります。
MVC アプリケーションから WCF サービス、basichttp から TCP/IP への接続を切り替えたところ、エラーが発生しました - 基礎となるプロバイダーがオープンに失敗しました。Entity Framework へのアクセス中。このエラーは、basichttp では発生しません。
IIS7.5 アプリケーション プールで実行される WCF サービスは、統合モードに設定されています。
接続文字列:
これが関連しているかどうかはわかりませんが、Windows認証のみのSQLサーバー認証を使用したくありません。
ご協力ありがとうございました。
java - Java クローズ TCP/IP 接続
Web サーバーから一連のファイルをダウンロードするには Java プログラムが必要で、各ファイルのダウンロードの間に tcp/ip 接続を閉じてから再度開く必要があります。
これを行う方法がわからない。
java - TCP送信でバックプレッシャをシミュレートする
私はいくつかのJavaTCP/ IPネットワークコード(クライアント-サーバー)を書いています。このコードでは、送信が受信よりもはるかに高速であるため、一方の端で送信操作がブロックされるシナリオに対処する必要があります。(sendおよびrecvバッファーがいっぱいになるため)。コードを設計するために、最初にこのような状況を試して、さまざまな負荷の下でクライアントとサーバーがどのように動作するかを確認したいと思いました。しかし、この背圧を達成するためのパラメータを適切に設定することはできません。値を小さく設定Socket.setSendBufferSize(int size)
してみSocket.setReceiveBufferSize(int size)
ましたが、すぐにいっぱいになることを期待していますが、クライアントが既に書き込まれたデータを十分に消費するのを待たずに、送信操作が完了することがわかります。(これは、sendおよびrecvのバッファサイズが小さいと効果がないことを意味します)
私が取ったもう1つのアプローチは、Nettyを使用して設定することServerBootstrap.setOption("child.sendBufferSize", 256);
ですが、これでもあまり役に立ちません。誰かが私が間違っていることを理解するのを手伝ってくれますか/
android - Android - TCP/IP 経由でデータを転送
Androidアプリについてお聞きしたいです。
ボタンが押されたときに WIFI(TCP/IP) 経由でデータを転送するにはどうすればよいですか?
例: ボタン 1 を押すと番号 1 が送信され、ボタン 2 を押すと番号 2 が送信されます。
私を助けてください..ありがとう
ボタンが押されたときにテックスを表示する方法と、ボタンが離された場合、テキストが欠落していますか? ここにチュートリアルがある場合は、どうぞ..どうもありがとう
sockets - winCE 6 で IPNAT API を使用する
こんにちは、私は Windows CE を使用しており、ポート フォワーディング用の小さなアプリケーションを作成する必要があります。そのためには、NAT (ネットワーク アドレス変換) ドライバーを使用する必要があります。このドライバーにはドキュメントがありますか? msdn の下には何も見つかりませんでした。おそらく、ipnat.h で定義されている IOCTL_IP_NAT_DELETE_TICKET と IOCTL_IP_NAT_CREATE_TICKET のみを使用します。