問題タブ [multicastsocket]

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 に答える
6611 参照

c++ - C++でマルチキャストソケットを実装する方法

私はac#プログラマーであり、c++でマルチキャストソケットを実装する必要があります。
私はそれをグーグル検索しようとしましたが、あまり助けが見つかりませんでした。
したがって、誰かが私に良いc ++マルチキャストソケットチュートリアルへのリンクを教えてくれれば、それは非常に高く評価されます。
私のc#ソケットの実装は次のようになります。

私はそれについてwcfで何かを見つけたと思いますが、良いチュートリアルを見つけることができません。

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

java - Java MulticastSocket が null ポインター例外を引き起こす

「サーバー」アプリでマルチキャストソケットを動作させようとしています。これは、多数のAndroid携帯に情報を吐き出します。ソケットのセットアップとデータの送信を担当するコード スニペットは次のとおりです。

何が起こるかというmultisocket.send(packet);と、次のスタック トレース情報でラインに到達して終了します。

...そして、私はその理由について途方に暮れています。

私が持っている 1 つの質問 (そしてそれの不自然さを言い訳します) - マルチキャスト ソケットに設定した IP アドレスは単なるプレースホルダーですか、それとも本当に IP アドレスをそれに設定する必要がありますか? 私の半分はおそらくそうではないと思います-残りの半分は反対のことを叫んでいます-しかし、答えをグーグルで調べたときにそれを確認するものは何も見つかりません-それはかなり狭い範囲のアドレスでなければならないということだけです. これが間違っている場合 (私の IP は 192.168.1.3)、それが問題なのでしょうか? それとも別のものですか?

前もって感謝します

スティーブ

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

c - クライアント サーバー ソケット プログラミング

みなさんこんにちは

私はソケットプログラミングの初心者です..

私は2つのプログラムを持っていました。RECEIVE および SENDRECEIVE。

RECEIVE では、サーバーとして機能するプログラムからデータを受信するためのコードを resvfrom(.....) を使用して単純に記述し、後のコードでは、サーバーとして機能するプログラムからメッセージを受信するためのコードを resvfrom(..) を使用して記述しました。 ...) また、sendto(......) を使用して、同じデータをそのサーバー プログラムに送り返しています。

マルチキャスト アドレス 224.0.0.5 およびポート 4545 の Linux マシンを使用しています。

私のプログラムはうまく動作していますが、問題は次のとおりです。

最初に RECEIVE プログラムがデータを受信し、次に SENDRECEIVE プログラムがデータを送受信します。

しかし、それは無限に実行されます.....コードをwhile(1){.......}で囲みました。

今問題は何ですか????

私のクローズ (.....) ソケットは、SENDRECEIVE プログラムに対して呼び出されません。

はいの場合、サーバーからメッセージを受信して​​RECEIVEプログラムに送り返した後に終了するように、どの条件を使用してソケットを閉じるのですか.....

「今回はコード全体を送信することはできませんが、ロジックは... setsocketopt(.....) の後です。

早く助けてくれませんか…」

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

java - JavaのMulticastSocket:常にBindException

状況に応じて、マルチキャストとユニキャストを使用してネットワーク経由でメッセージを送信するチャットであ​​る基本的なアプリをコーディングしています。これまでのところ、問題ありません。少し前にMulticastSocketパートを開始するまでは。この基本的なコードを実行すると、BindExceptionが発生します(問題のある部分に関係のない他のすべてのメソッドを削除しました):

このコードを実行すると、次のエラーが発生します(GUIに225.1.1.1と4567を配置しました)。

IPとポートの組み合わせに関係なく、常に同じエラーが発生します。コンピューターを再起動しても、何も変更されませんでした。

:テストするには、パッケージビューでメインを使用してクラスを右クリックし、[実行]->[Javaアプリケーション]を選択します。Eclipseは、それを行うときにある種の仮想マシンを作成しますか、それともループバックアドレス127.0.0.1のみを使用しますか?InetAddress.getLocalHost();の結果を出力するとき。「akee-netbook/127.0.1.1」を持っています。私はユニキャストとマルチキャストを使用しているので、おそらくループバックアドレスのみを使用し、すでにバインドされているアドレスにバインドしようとします。もしそうなら、どうすればアプリを適切にテストできますか?はっきりしているのかわからない、はっきりしていないのなら教えて!

最後に、IPアドレスを出力するときにスラッシュが表示されるのはなぜですか。後で問題になりますか?それともtoString()メソッドから来るのはsmthですか?

0 投票する
2 に答える
2236 参照

php - PHP マルチポイント ループバック

ソケットを使用して PHP (残念ながら PHP でなければなりません) を使用して単純なアプリケーションを実装しようとしています。私は1つのページを持っています.multi.phpとページclient.phpの多くのインスタンスとしましょうファイルやデータベースなしでmulti.phpの1つのインスタンスからclient.phpのすべてのインスタンスにデータを送信したくありません.

マルチキャスト (マルチキャスト アドレスを使用して multi.php からデータを送信) を使用して実行しようとしましたが、機能しません。client.php のどのインスタンスとも通信できません

前もって感謝します

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

java - Androidでマルチキャストメッセージを受信するにはどうすればよいですか?

私のPCには、ポイントを保存し、各ポイントに楕円を描画する非常に単純な描画アプリケーションがあります。

これをAndroidアプリケーションに送信しようとしています。このアプリケーションは、各ポイントの座標を受け取り、楕円を描画します。

現在、マルチキャストソケットを使用していますが、機能していないようです。何かが足りないのではないかと思います。

InetAddressとポートは両方のアプリケーションで同じです:234.235.236.237と9876

私のPCアプリケーションでは、MultiCastSocket初期化コードは次のようになります。

そして、座標を送信したいときは、このメソッドを呼び出します。

次に、私のAndroidアプリケーションは次のようになります。

メッセージを送信したいときはこれを呼び出します。これはPCアプリケーションのものと非常によく似ています。

次に、Clientクラスは次のコードでソケットをリッスンします。

アンドロイドアプリケーションから送信された自分のメッセージは受信しますが、PCから送信されたメッセージは受信しません。だから、それは接続と関係があると思います。

AndroidManifestに設定android.permission.CHANGE_WIFI_MULTICAST_STATEしました。android.permission.INTERNET

私が提供した情報が十分であることを願っています。

エミュレータとAndroid2.2を使用しています。

オフトピック:MulticastSocketsがどのように機能するのかよくわかりませんが、クラスDのIPとポートを選択するにはどうすればよいですか?

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

java - UDP パケット損失を最小限に抑える方法

毎秒最大 3000 個の UDP パケットを受信して​​います。それぞれのサイズは最大 200 バイトです。これらのUDPパケットをリッスンし、データをファイルに書き込むだけのJavaアプリケーションを作成しました。次に、サーバーは以前に指定されたレートで 15000 メッセージを送信します。ファイルに書き込んだ後、約 3500 件のメッセージしか含まれていません。Wireshark を使用して、15000 件すべてのメッセージがネットワーク インターフェイスで受信されたことを確認しました。その後、ソケットのバッファ サイズを変更してみました (最初は 8496 バイトでした)。

この変更により、保存されるメッセージの数が最大 8000 に増加しました。バッファサイズを1MBまで増やし続けました。その後、保存されたメッセージの数は ~14400 に達しました。バッファ サイズをより大きな値に増やしても、保存されるメッセージの数は増えません。許容される最大バッファ サイズに達したようです。それでも、ネットワーク インターフェイスが受信した 15000 件のメッセージをすべてキャプチャする必要があります。

どんな助けでも大歓迎です。前もって感謝します。

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

java - Java MulitcastSocket 受信メソッドは「プログラムをブロックします」?

マルチキャストグループへの接続、参加、送信、およびデータの受信のプロセスを簡素化するために、Java でクラスを作成しています。この時点で、receive()Java のMulticastSocketクラスのメソッドに問題があります。この方法を使用すると、データが受信されるまでプログラム全体が停止します。

特定の期間、たとえば 5 秒間だけリッスンできる方法があるかどうかを知りたいですか?

これは、私がやっていることの非常に基本的なコード サンプルです。例外のキャッチ、インポートステートメントなどを除いて、実際のコードとはまったく似ていないことに注意してください... Javaのマルチキャスト機能をどのように活用するかについて、クラスの基本的なフローを示しているだけです。

お時間をいただきありがとうございます。

0 投票する
0 に答える
430 参照

c# - Windows PGM ソケットでループバックを無効にする方法は?

RDM ソケット タイプの標準 Windows PGM ソケット実装 (「MSMQ PGM」とも呼ばれます) を使用しています。このMicrosoft リンクに従って、MulticastLoopBackソケット オプションを設定できないことに気付きました。

つまり、おなじみの構文は次のとおりです。

無効な引数エラーをスローします。

PGM ソケット インスタンスでマルチキャスト ループバックを無効にする代替手段を知っている人はいますか? 最もクリーンなワンライナーからレジストリのハックまで、何でも大歓迎です。

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

java - Java Multicast Socket が Windows で動作しない (SocketPermission 例外)

Windows でマルチキャスト Java ソケットを開始すると、次のエラーが表示されます (ファイアウォールが無効になっています)。

java.security.AccessControlException: アクセスが拒否されました (java.net.SocketPermission 230.0.0.1 接続、受け入れ、解決) java.security.AccessControlContext.checkPermission(不明なソース) で java.security.AccessController.checkPermission(不明なソース) で java. lang.SecurityManager.checkPermission(不明なソース) で java.lang.SecurityManager.checkMulticast(不明なソース) で java.net.MulticastSocket.joinGroup(不明なソース) で ch.uzh.ifi.group10.client.ServiceBrowser.(ServiceBrowser.java :49) ch.uzh.ifi.group10.server.RMIServer.startServer(RMIServer.java:176) で ch.uzh.ifi.group10.server.RMIServer.main(RMIServer.java:279) で

プログラムにソケットのアクセス許可がないため、マルチキャスト グループに参加できないようです。面白いことに、同じコードが Linux (ubuntu 11.10) でも問題なく動作します。また、security.policy ファイルにソケット権限を追加しようとしました (Permission java.net.SocketPermission "230.0.0.1", "connect, accept, listen, resolve";) これも役に立ちませんでした。

問題が発生している可能性のある場所や不足している場所が他に見つからないため、行き詰まっています...何かアイデアはありますか?