タグ付けされた質問 「tcp」

1
Reactive Extensionsを使用した非同期ネットワークプログラミング
この質問は、Software Engineering Stack Exchangeで回答できるため、Code Review Stack Exchangeから移行されました。 5年前に移行され ました。 何socket年か前に(多かれ少なかれ)「低レベル」非同期プログラミング(イベントベースの非同期パターン(EAP)方式)を行い、最近TcpListener(非同期プログラミングモデル(APM))に「上」に移動した後、async/await(Task-based Asynchronous Pattern (TAP))に移動しようとしています だから私は考えていた。私の問題のドメインによりぴったりと合うかもしれないのでRX、なぜ行ってみてください(Reactive Extensions)。 多くのクライアントがTcpを介してアプリケーションに接続し、双方向(非同期)通信を開始する多くのコードを作成する必要があります。クライアントまたはサーバーはいつでもメッセージを送信する必要があると判断する場合があります。そのため、これは従来のrequest/responseセットアップではなく、リアルタイムで双方向の「回線」であり、両者が自由に送信できます、いつでも好きなときに。(これを説明するためのまともな名前を持っている人がいれば、それを聞いてうれしいです!)。 「プロトコル」はアプリケーションごとに異なります(私の質問にはあまり関係ありません)。ただし、最初の質問があります。 1つの「サーバー」のみが実行されていることを考えると、多くの(通常は数千の)接続(クライアントなど)を追跡する必要があります。州など、どのアプローチを好むでしょうか?EAP / TAP / APM?RXもオプションと見なされますか?そうでない場合、なぜですか? だから、a)それは要求/応答プロトコルではないので、非同期を動作させる必要があるので、スレッド/クライアントを「メッセージ待ち」ブロッキング呼び出しまたは「メッセージ送信」ブロッキング呼び出し(ただし、送信がそのクライアントのみをブロックできます(私はそれと一緒に暮らすことができます)およびb)多くの同時接続を処理する必要があります。ブロッキング呼び出しを使用してこれを(確実に)行う方法はありません。 私のアプリケーションのほとんどはVoiP関連です。SIP cientsからのSIPメッセージでも、FreeSwitch / OpenSIPSなどのアプリケーションからのPBX(関連)メッセージングでも、最も簡単な形式では、多くの「チャット」クライアントを処理しようとする「チャット」サーバーを想像できます。ほとんどのプロトコルはテキストベース(ASCII)です。 したがって、前述の手法のさまざまな順列を実装した後、単純にインスタンス化できるオブジェクトを作成して作業を簡素化し、IPEndpoint聞きたいものを伝え、興味のあることが起こったらいつでも教えてもらいたい(通常はイベントを使用するため、一部のEAPは通常、他の2つの手法と混合されます)。クラスは、プロトコルを「理解」しようとする必要はありません。単に着信/発信文字列を処理する必要があります。したがって、RXに注目して(最終的に)作業を簡素化することを期待して、ゼロから新しい「フィドル」を作成しました。 using System; using System.Collections.Concurrent; using System.Net; using System.Net.Sockets; using System.Reactive.Linq; using System.Text; class Program { static void Main(string[] args) { var f …
25 c#  .net  tcp 

2
マルチプレイヤーゲームのTCPまたはUDPですか?
これは私がよく見る質問です。ほとんどの人は、UDPはTCPよりもリアルタイムゲームの方が常に優れていると言います。私の理解では、UDPは気にしませんが、TCPは反対側がパケットを取得するまで何度もパケットを再送信しようとします。 私が読んだことの大部分は、UDPはどんなリアルタイムゲームにとっても必須であり、TCPはひどいということです。しかし、とにかく、ほとんどの人はUDPの上に何らかの形式のTCPを実装しているようです。そして、私たちはもう80年代ではなく、インターネットは今や非常に高速で信頼性が高いことを考えると、2つの違いは無視できると聞いています。 ここでの私の一般的な理解は間違っていますか?誰かが私のためにこれをクリアできますか?

12
ステートレスインターネットの理解[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 私はデスクトップ開発者からWeb開発者に移行していますが、HTTPがステートレスである理由を理解するのに苦労しています。その理由は何ですか?私のようなデスクトップ開発者がステートレス開発環境に移行する方法は何ですか?
15 internet  tcp  http 

3
ブロッキングストリームをTCP接続に多重化することをお勧めしますか?
2つのホスト間に複数の二重チャネルが必要です。1つのTCP接続のみを確立することには多くの利点があります。しかし、多重化は避けられない問題を引き起こすとは思いません。パフォーマンスを低下させたり、レイテンシを大幅に増加させたりしませんか?また、メモリ使用量とCPU使用量はどうですか?何か提案や警告がありますか?

2
TCP / IPアプリケーションとHTTPアプリケーションの比較[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 Javaで書かれた大規模なユーザー向けWebサイトの開発に興味があります。 設計に関しては、メインのWebアプリケーションに対するデータプロバイダーとして機能できる、独立したモジュラーサービスの開発を考えています。 これらのモジュラーサービス(データプロバイダー)の作成については、Springなどの既存のフレームワークを活用し、RESTfulデザインパターンに従ってこれらのサービスを開発し、JSONなどのメッセージ形式でHTTPを介してリソースを公開するか、既存のネットワークを活用できますNetty(http://netty.io/)のようなフレームワークとProtobufs(https://developers.google.com/protocol-buffers/docs/overview)のようなシリアル化形式、およびシリアル化されたprotobuf を送受信するTCPサーバーを開発するペイロード。 どちらを選択するかはいつですか?Protobufsのようなシリアル化形式を使用して、ワイヤを介してバイトストリームを送信する利点はありますか?JSONを使用するだけでオーバーヘッドが発生しますか?TCP / IPを使用してからHTTPを使用するまでのオーバーヘッドはどれくらいですか?そのようなサービスを構築するためにSpring over Nettyをいつ使用する必要がありますか?
13 java  rest  http  serialization  tcp 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.