問題タブ [udpclient]
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.
c# - UDPを使用したアプリケーション間の双方向通信
私はすでにTCP/IPを使用してこれを行っています。私は現在、UDPを使用してこれを実行しようとしています。これらのアプリケーションは両方とも同じホストで実行されています。したがって、クライアント/サーバーの両方が127.0.0.1:5000で送受信しています。問題は、他のアプリケーション向けのメッセージを受信していることです。
c# - UdpClient がクローズ/破棄されたかどうかを知るにはどうすればよいですか?
通常の非同期コールバック経由で UdpClient からデータを受信しています。
メイン スレッドでClose()
UdpClient を呼び出すと、期待どおりにコールバックが起動しますが、この時点_udpReceive
では既に破棄されておりObjectDisposedException
、呼び出しを試みるとが返されますEndReceive()
。私は空のバッファを取得することを期待していました。
これを処理する正しい方法は何ですか? 使用する前に確認できるメンバーはありUdpClient
ますか、それともすべてを a でラップしてtry{}
キャッチする唯一の方法ObjectDisposedException
ですか? 通常のクローズではかなり厄介なようです。
c# - C# UDP が TCP より遅くなる
ビデオ フィードを Xbox Kinect からクライアントからサーバーにストリーミングしようとしています。TCPで動作しましたが、約5 fpsしか得られなかったので、UDPで試しています。プロトコルの仕組みから UDP の方が速いはずですが、遅いようです。これがTCPに関する私の投稿です(http://stackoverflow.com/questions/9627242/c-sharp-streaming-video-over-networkstream-tcpclient)
これで必要なすべてのデータを LAN 経由で送信できますが、送信速度が速すぎると、多くのパケットが失われ始めます。そのため、私は Thread.Sleep(20); を使用しています。チャックサイズを大きくすると速度が大幅に向上しますが、LAN経由で送信する場合は最大になり、インターネット経由で送信する場合の最大チャンクサイズを正しく理解していれば、約1500バイトです。一度に 1500 バイトしか送信しない場合、これは非常に遅くなります。私は何か間違ったことをしているに違いない。
これがコードです。
c#-4.0 - インターネット経由で C# の UDPCLient クラスを使用してビデオをブロードキャストする方法は?
ウェブカメラを使用してビデオをキャプチャし、インターネット上のどこかの他のサーバー (サーバークライアント)に転送するビデオクライアント/機能を開発しようとしています。そのために UDPCLient クラスを使用しています。
アプリケーションで、Web カメラからキャプチャされたビデオをリッスンして送信できるようにしたいと考えています。ローカルネットワークでそれを行うと、キャプチャ、送信、および受信が正常に機能します。
しかし、それぞれのポートを転送した後、ルーターの後ろ (2 つの異なるネットワーク/インターネット間) からアプリケーションをテストすると、両方のルーターでインターネット接続が失われ (ハングアップするか何か)、ルーターを再起動するか、別の接続に切り替える必要があります。 . 構成は次のとおりです。
サーバント 1 <--> ルータ 1 <--> インターネット接続 #01
サーバント 02 <---> ルータ 2 <---> インターネット接続 #02
両方の接続は別々の DSL 回線上にあります。ルーターの 1 つは ZTE ブランドで、もう 1 つは Netgear のものです。
リッスン/送信のコードは次のとおりです。
応答を受信するためのコードは次のとおりです。
ローカル ネットワークでテストする場合、DNSHostname を使用して IP アドレス (プライベート IP アドレス) を取得すると、ビデオはローカル ネットワークで正常に動作します。これはインターネット経由では機能しないため、ライブ IP アドレスに切り替えて、getPublicIpAddress() のメソッドを使用します。
- 私のアプローチに深刻な問題があることを知っていますか?正しいアプローチは何ですか?
- TCP Listenner に切り替える必要がありますか? 将来的には、同じビデオの複数の受信機を持つつもりです。それで、それは影響しますか?
UDP クライアントが原因でルーターがクラッシュしたり、ハングアップしたり、再起動したりすることはありますか? どうすればそれを回避できますか?
最後に、ポート転送を回避する場合、どのような戦略が最善でしょうか?
助けてください。
ありがとう
スティーブ
c# - UDP パケットが失われています。
私はもともと UDP パケットをローカルに送信する小さなコンソール アプリを作成しようとしていたので、「レシーバー」アプリをテストすることができました。ここでスタックオーバーフローを検索すると、うまくいくものを手に入れることができました。しかし、それは時々しか機能しません。UDP が信頼できないことはわかっていますが、この場合、完全に機能するか、まったく機能しません。
コードを最小限に抑えようとしました。これら 2 つのコード ブロックをmain
2 つの異なるコンソール アプリにコピーして (VS の外部で) 一緒に実行する場合、次のことを知りたいと思います。
- それはあなたのために働きます:いつも、決して、またはいつも
- どちらを最初に開始/停止するかによって違いが見られる場合
- 何が悪いのか分かりますか
Sender を実行したままにして、Receiver を数十回停止/開始すると、何も受信しない状態になります。試行を続けると、再び機能し始め、停止し、起動します...
Udpレシーバー
UdpSender
c# - UDP クライアントのバグ - データ バイトを送信できない
私は C# P2P ビデオ チャット (学部での私の試験の一部) を書いていますが、udp 経由でデータを送信するのに少し苦労しています。だからここでそれがどのように機能するか。Web_Capture ライブラリがあり、画像がキャプチャされるたびに、PictureBox 画像がキャプチャされた画像に設定されます
そのため、sendData メソッドが送信を開始します...
デバッグすると、ソケット例外が発生します。
だから、誰かが何か考えを持っていますか、私はC#に慣れていないので、コードでそのアイデアをサポートしてくれれば感謝します:)事前に感謝します。マルジャン
c - CでUDPソケットにソースポートを設定するには?
UDPソケットでソースポートアドレスを設定する方法を教えてもらえますか?. 私のクライアント アプリケーションは、パケットを 57002 ポートからサーバー ポート 58007 に送信する必要があります。
c# - UDPソケットの問題
udpソケットに奇妙な問題があります。まず、コードを提供しましょう。
サーバ側:
クライアント側:
問題は、サーバーからクライアントに最初に送信するとすべてが完全に機能しますが、2回目(以下同様)に送信すると、クライアントは何も受信しません。その問題の理由は何であり、どうすれば解決できますか?
どうもありがとう。
winsock - .NET UdpClient と Winsock の相互運用性の問題
UDP クライアントに Winsock を使用する C++ で記述されたアプリケーションがあります。.Net UdpClient クラスを使用する、C++/CLI で記述された別の UDP クライアントにデータを送信しようとしています。メッセージは正常に送信されますが、受信されません。つまり、リスナーから決して出てこない->Receive(endPoint); .NET 側で呼び出します。
C++/CLI コードで .Net UDPClient コードを Winsock に置き換えましたが、問題はありません。
両方のマシンが Windows 7 を実行しています (したがって、.NET 4、および Windows 7 での WSA の任意のバージョン)
C++ Winsock コードは次のとおりです。
.NET 側は次のとおりです。