問題タブ [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.

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

security - TCP IP の欠点

質問をする前に、次のことを理解しています。 1. 伝送制御プロトコル (TCP) は IP の上で実行されます。

  1. TCP は配信を保証し、パケットが順番に配信されるようにします。

  2. 基盤となるネットワーク IP は非常に信頼性が低く、TCP を保証するものではありません。

  3. 私はネットワーキングのプロではありません。

私は、今日のインターネットの基礎である TCP IP セキュリティに関する、CHRIS CHAMBERS、JUSTIN DOLSKE、および JAYARAMAN IYER による興味深い詳細なセキュリティ記事を読んでいます。残念ながら、セキュリティの最も基本的なメカニズムさえ欠けています。

TCP および IP プロトコルが設計されたのは、「インターネット」が小規模であり、ユーザーが相互に信頼し合っていた時代であると理解しています。ほとんどの場合、参照される 2 つのプロトコルは、IP の RFC [RFC 791] と TCP [RFC 793] です。

説明したように、「ネットワークは動的であるため、同じソースからの 2 つのデータグラムが異なるパスを使用して宛先に到達する可能性があります」、および「IP はベストエフォート型の配信のみを試みます。失われたものは処理しません」パケット; これは上位層のプロトコルに任されています. 2 つのデータグラム間で維持される状態はありません. 言い換えれば, IP はコネクションレスです....」.

他の多くの問題の中でも、IP フィールドはどれも暗号化されておらず、認証もありません (これは IP6 で部分的に修正されていることに注意してください)。

TCP/IP 4 の弱点に対する「本当の」修正はありますか?

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

udp - 特定のポートで着信パケットを編集する

WireShark のようにパケットを盗聴するさまざまなプログラムがあることは知っていますが、データを表示することしかできないと確信しています。着信パケットを編集できるかどうか知りたいです。パケットが正しい用語かどうかはわかりません。インターネット経由で受信した受信データを編集したいだけで、送信先は特定のアプリケーションです。私がオンラインゲームをしているとしましょう。私のコンピューターをロードすると、「この人のお金の袋に 10 枚のコインがあります」などの情報を受信して​​います。明らかに、正確にはそうではありませんしかし、あなたは要点を理解します。データを 10 ではなく 100 に変更できるようにしたいと考えています。これを行うと、次のようなことが可能になることはわかっています。私のコンピューターがイーサネット コードでインターネットに接続されていると想像してください。イーサネットコードに接続されたデバイスがあり、データを受信して​​変更し、それをコンピューターに継続させます。これが可能かどうか、そしてそれをどのように達成できるかを知りたいだけです。

ありがとう!

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

javascript - Node.js HTTP/NET -- 接続とリクエストの違い

この質問は、tcp/ip プロトコルを取り巻く一般的な概念に関するものであり、So には既に適切な回答がありますが、node.js http/net ライブラリの特殊性について洞察を得たいと思っています。

ノードの http サーバー インスタンスでは、「要求」イベントと「接続」イベントの 2 種類のイベントにコールバックを登録できます。これらの後者は、サーバーが現在持っている同時接続の数をカウントするフィールド「_connections」とともに、ネット ライブラリから継承されます。

ここで、http はステートレス プロトコルであるため、要求イベントと接続イベントの間には 1 対 1 の対応が必要だと思われますが、そうではありません。デバッガーで単純な「hello-world」サーバーをステップ実行すると、要求イベントの数が接続イベントの数を上回っていることがわかりました。また、サーバーへの呼び出しが行われていない (そしてプロセスが一時停止していない) 場合でも、.connections フィールドがゼロになることはありませんでした。リクエストの数が接続の数と等しくないのはなぜですか?また、サーバーが response.end() への最後の呼び出しの後も接続を開いたままにしておくのはなぜですか?

また、HTTP サーバー (keep-alive では何もしない) の同時接続数が 1 よりも多くなる可能性はありますか? リクエストは基本的にソケットでキューに入れられ、1つずつ処理されませんか? Node が非同期であることは理解していますが、シングルスレッドで動作するとも思っていました。

前もって感謝します!

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

.net - TCP/IP リスナー Web アプリケーション .net

参照リンク - http://www.codeproject.com/KB/vb/winsock_revamped.aspx

VB.Netアプリケーションやwindowsアプリケーションを開発しており、TCP/IPリスナーによるクライアント接続要求を受け付ける、VB6プログラミング言語を用いたクライアントアプリケーションを開発しております。Windows チャット サーバーは、上記のリンクのサンプル コードに基づいて開発されています。

私のアプリケーションは、VB6 アプリから注文を受けるホテルのデータベースです。すべての機能、データベースなどを備えた既存のVB6アプリケーションがあったため、VB6 PCはLAN内のノードにTCPIPリスナーを使用してデータを取得します。現在、ノードをウェブサイトに変更することを計画しています。サーバー (ローカル PC で実行されている VB6 アプリケーション) は変更したくありません。Web に移行したいノードだけです。

クライアントとサーバー間の通信は正常に機能しており、問題はありませんが、Web アプリケーションを開発しようとしています。だから私の質問は、Webアプリケーションまたは同等のものでサポートされているTCPリスナーですか? 、または Web アプリケーションの場合、通信には Web サービスを使用した方がよいですか。

Web アプリケーション ASP.net (VB/C# .net 3.5) は、専用サーバー Windows 2003 R2 で実行されます。今のところ、Windows アプリケーションを作成でき、Web サーバーに同じものをインストールしようとしています。テスト用に作成したチャット サーバー アプリケーションは LAN で問題なく動作しましたが、Web サーバーでも動作するかどうかはわかりません。LAN の場合は LAN IP を使用しましたが、インターネットの場合はインターネット IP を使用する必要があります。これが機能する場合、セキュリティ上の懸念や問題はありますか。この TCP/IP 通信に必要なポートは、Web サーバー上で開いたままになっています。

フレームワーク 3.5、TCP/IP リスナー Web アプリケーション用の VS2008。

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

tcp-ip - recv()関数がPythonでメッセージを返さない

Pythonを使用したTCP/IP接続は初めてです

私はこの単純なコードを持っています:

しかし、私がそれを実行すると、それは永遠に実行され、結果は得られません!!!

手伝っていただけませんか。ありがとう

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

iphone - スライダーのTCP/IP接続

スライダー変更値でTCP/ip接続を使用してデータを送信しようとしていますが、接続に失敗しました。イベントはNSStreamEventErrorOccuerを直接呼び出します。接続に以下のリンクを使用しています。

http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server

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

performance - ユーザー空間とカーネル空間でのプロトコルの実装 - パフォーマンスへの影響

TCP/IPスタックなどのプロトコル実装をカーネルからユーザー空間に移動することの影響に関する記事/論文を探しています。確かに影響はありますが、どの程度ですか?または、コンテキストスイッチのコストに関する文献があります。用途によって異なりますので、正確な回答が得られないことも承知しております。したがって、それがネットワークスタックであると仮定すると、誰かがいくつかの入力を提供できれば素晴らしいでしょう. 私はグーグルで検索しましたが、このユーザー空間とカーネル空間のプログラムのパフォーマンスの違い以外に良いものは見つかり ませんでしたが、十分な光を当てていません。

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

java - エラー:ホストへのTCP/IP接続が失敗しました。java.net.ConnectException:接続が拒否されました:接続

使ってます

  • Windows 7
  • Netbeans IDE 7.1.2
  • SQL Server Management Studio Express 2005
  • JDK1.6

データベースへの接続中に次のエラーが発生します。

com.microsoft.sqlserver.jdbc.SQLServerException:ホストへのTCP/IP接続が失敗しました。java.net.ConnectException:接続が拒否されました:接続

私の接続文字列は次のとおりです。

私は以下のものをチェックしました:

  1. SQL Server Configuration Managerで、SQLEXPRESSのプロトコル:TCP / IPが有効になっています実際、残りの3つも有効にしました。
  2. SQL Server(SQLExpress)とSQLブラウザサービスの両方が実行されています。
0 投票する
1 に答える
1453 参照

netty - 多くの長寿命TCP接続用のNettyサーバー

TCPサーバー/クライアントコードをNettyに移植しています。

1つの質問ですが、サーバーは多くのクライアントからの長期間の接続を処理します。私は現在、バッチ操作ですべてのクライアントにブロードキャストするなどのことを行う必要はなく、おそらく必要ないでしょう...しかし、これらのチャネルの保管場所と、通知を選択的に送信できるメカニズムが必要です。いくつかのクライアントIDを与えられたクライアントに。

私の質問は、ChannelGroupがこれらのチャネルを保持するための許容可能なメカニズムですか?最初に接続を取得するときに、チャネルのIDとクライアントIDをルックアップマップに保存します。これにより、特定のクライアントに通知する必要があるときはいつでも、書き込む必要のあるチャネルIDを検索し、ChannelGroupからそのチャネルを取得します。そのチャネルにのみメッセージを送信します。

そのアプローチに何か問題がありますか?

ありがとうございました!

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

ios - CFStreamCreatePairWithSocketToHost ローカル エンドポイント アドレスを取得する

私は iOS/MacOS プログラミングが初めてで、理解できる例が見つかりません。これを行うには数行のコードしかないと思うので、これがすでにカバーされている場合は申し訳ありませんが、私の人生では見つけることができません。

CFStreamCreatePairWithSocketToHost を使用してイン/アウト ストリームを作成しています。ローカル エンドポイント情報を取得したいだけです (具体的には IP アドレス、実際にはポートは気にしません)。既にサーバーからパブリック IP 情報を取得していますが、セキュリティ/ログの理由から、ローカル アドレスも必要です。

これは、問題がある場合、MacOS ではなく iOS にあります。