問題タブ [udp]

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 投票する
2 に答える
2283 参照

c++ - 別のプロセスからソケット (UDP) 経由でクライアントに応答する

「コマンドハンドラー」プロセスよりもサーバーがあります。UDP 経由でメッセージを受信し、発行された API (プロセスが使用する IPC メカニズムに関係なく) を介してそのプロセスと通信することにより、別のプロセスに実行する作業を委任します。私たちのシステムには、いくつかの協調プロセスがあります。次に、その API 呼び出しの結果が、コマンド ハンドラー プロセスからクライアントに返されます。

1 つのコマンドは、別のプロセスからクライアントに生成されるデータ ストリームを制御することです (「接続」メッセージ)。

これは機能するはずですか?クライアントの IP アドレスとポート番号を他のプロセスに送信すると、そのプロセスは新しいソケットを作成し、sendto を実行します...コードをトレースしたところ、すべて問題ないように見えますが、クライアントはまだブロックされています受信... コマンド ハンドラーから sendto を実行すると、応答が返されますが、新しいソケットからは返されません。

コード例を次に示します。

だから助けてください!

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

c# - 画像を 50 ミリ秒ごとに送信するには、TCP または UDP を使用する必要がありますか?

サーバーが50ミリ秒ごとにソケットを介してクライアントに画像(100kb)を送信するサーバークライアントモデルを使用して、C#アプリケーションを構築しています...

私は TCP を使用していましたが、このプロトコルのオーバーヘッドに加えて、クライアントのソケットに複数のイメージが存在することもありました。そして、各画像のバイトを分割する巧妙なメカニズムについてはまだ考えていません (実際には、最新のものだけが必要です)。

UDP を使用してみましたが、100kb の dgram は送信できず、64kb の dgram しか送信できないという結論に達しました。それでも、1500 バイトを超えて使用するべきではありません。そうしないと、パケットがネットワークに沿って分割され、パケットの一部が失われる可能性が高くなります。

だから今、私は少し混乱しています。クライアントがイメージを分離できるように、TCP を使用し続け、各イメージの末尾にエスケープ バイトを挿入する必要がありますか? それとも、UDP を使用して 1500 バイトの dgram を送信し、順序付けと回復のメカニズムを考え出す必要がありますか?

ここでの重要な目標は、画像を非常に高速に送信することです。クライアントが新しいものを受け取り続ける限り、途中でいくつかを失うことは気にしません.

または、別のプロトコルを使用する必要がありますか? 前もって感謝します!

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

java - 1 つの UDP データグラムで複数のデータを送信する

私は単純な IM システム (最も単純なバージョンの Windows メッセンジャーによく似ています) の作成に関するネットワーク プログラミングの割り当てに取り組んでいます。

仕様では、1 つのデータグラム パケットで 4 つのフィールドを超えるデータを送信する必要があると指定されています。これらは次のとおりです。

これらすべてのデータを 1 つのパケットにパックする方法を教えてください。

更新:これまでのところ助けてくれてありがとう、しかし、私は文字列文と文字列を持っていると言いますパケットに個別にパッチを当てる通常の方法からは

しかし、「from」文字列を文文字列とともに sendData に正確に追加するにはどうすればよいですか?

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

java - スレッド化されたUDPベースのサーバーをJavaで実装するにはどうすればよいですか?

スレッド化されたUDPベースのサーバーをJavaで実装するにはどうすればよいですか?

基本的に私が欲しいのは、複数のクライアントをサーバーに接続し、各クライアントに独自のスレッドを持たせることです。唯一の問題は、クライアントがサーバーに接続して新しいスレッドを生成しようとしているかどうかを確認する方法がわからないことです。

この場合、サーバーはメモリがなくなるまで新しいスレッドを生成します。これがServerThreadのコードです(クライアントが接続を試みるまでServerThreadの作成を停止するメカニズムがここに必要だと思います。

ですから、Javaプログラミングの父は助けてください。

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

c++ - UDP/IPとsendto/recvfromの戻り値に関する混乱

私は初めてC++でUDPソケットを使用していますが、それらがどのように機能するかがわかりません。sendto/recvfromおよびsend/recvは通常、実際に送信または受信されたバイト数を返すことを知っています。この値は任意に小さく(ただし少なくとも1つ)、ソケットのバッファーにあるデータの量(読み取り時)またはバッファーに残っている空き領域の量(書き込み時)によって異なります。

一度に1バイトが送受信され、データグラムが順不同で受信されることを保証するだけの場合sendto、 UDPプロトコルの一貫性を維持するにはどうすればよいでしょうか。recvfromこれは、メッセージのバイトを受信したときに任意にシャッフルできることを意味しませんか?メッセージが一度に送受信されることを保証する方法はありますか?

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

java - JavaでUDPを介してファイルを転送する

TCP/IP を使用する Java に次のアルゴリズムを実装しています。

現在、UDP Datapackets を使用してそれを実装するのに問題があります。これが私のコードです:


クライアント:


サーバ:

0 投票する
12 に答える
4499 参照

c++ - UDP プログラミングについて知っておくべきことは何ですか?

ソケットに接続する方法を意味するものではありません。UDP プログラミングについて知っておくべきことは何ですか?

  • ソケット内の不良データについて心配する必要はありますか?
  • 200 バイトを送信すると、120 バイトと 60 バイトが別々に取得される可能性があると想定する必要がありますか?
  • 同じポートで別の接続が不正なデータを送信することを心配する必要がありますか?
  • 通常、データが届かない場合、(通常) どれくらいの時間 (250 ミリ秒? 1 秒? 1.75 秒?) データが表示されない可能性がありますか?

私は本当に何を知る必要がありますか?

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

udp - LAN 外での UDP コードのテストに問題がありますか?

私は今後数日でudpを学んでいます。今週末、私はそれらの 72 時間の競争の 1 つに参加する予定で、その UDP コードをオンラインで動作させたいと考えています。大会中はインターネットがありません(誰かに電話してテストしてもらうことはありません)。

パケットが 2 回受信される、複数のフレームが受信されない (ただし、予想されるミリ秒の長さはわかりません)、推奨されるバイト サイズ (576) など、UDP に関するいくつかの問題を知っています。 UDPプログラミングについて?

しかし、LAN からインターネットに移行した後、どのようなことが起こりますか?

注: できるだけ早くいくつかのコードを実行し、オンラインでテストします。私の最終コードがどのように見えるかを願っていますが、いくつか見逃す可能性もあります。

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

linux - 同じソケットを介したUDPブロードキャストとユニキャスト?

UDP ソケットを開いてポートにバインドする Linux アプリケーションがあります。ソケットを介してユニキャスト パケットを送信しても問題はありませんでした。ブロードキャスト パケットを送信する機会があったので、ブロードキャスト パケットを通過させる SO_BROADCAST を有効にしましたが、ユニキャスト パケットもブロードキャストされていることに気付きました。これは UDP ソケットの予想される動作ですか、それとも何かを誤って構成した可能性が高いですか?