2016-05-05 4 views
0

UDPパケットをネットワークの各ホスト、たとえばN個のホストに送信する必要があります。複数のアドレスに到達する1つのソケット

私の現在のCの実装で、それは非常に簡単です:

  • は、私がnet.Conn(接続)を持って行くと、すべてのホスト

ため、同じソケット上のUDPソケット

  • 使用sendtoを開けませんソケット。

    1つのfdだけを使用して異なるホストにUDPパケットを送信するにはどうすればよいですか?

    今のところ私はnet.ConnをN回閉じて開かなければなりません。

    はあなたの助けのために事前にありがとうございます:)

  • +0

    UDPで作業している場合は、特定のアドレスに書き込むメソッドを持つUDPConnがあります。あなたは何をしているのかの例を見せてもらえますか? – JimB

    答えて

    1

    を使用net.ListenUDP(割り当て可能なポートを取得するか、0)は、所望のローカルポートとUDPソケットを作成します。これにより、WriteToReadFromの方法(sendtorecvfromに相当)を持つnet.UDPConnが得られます。 WriteTo/ReadFromとWriteToUDP/ReadFromUDPの違いは、前者が汎用のPacketConnインターフェイスを実装しているのに対し、後者はUDP固有であるため、常にUDPを使用していることがわかっている場合はキャスト量を減らすことができます。

    関連する問題