Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

UDP経由でシリアルデバイスデータをブロードキャスト

当社のSerial to Ethernet Connectorをご使用いただくと、UDPを使用してお客様のLAN上のすべてのコンピューターにデータやメッセージを送信できます。
14日間の無料トライアルをご利用いただけます
ライセンス価格の開始は:$259.95
以下でご利用いただけます:

データ通信の柔軟性が向上

UDPプロトコルを使用する場合、シリアルポートからのすべてのデータをカプセル化できるため、より柔軟性が高くなります。また、ブロードキャストメッセージを構成することで、すべてのネットワークデバイスに情報を簡単に送ることができます。指定されたポートでリッスンしている人がメッセージを受信する場合、追加の設定は必要ありません。
broadcast-devices-via-udp

UDP経由でブロードキャストデバイスを共有する方法

1
データを送信するために使用されるCOMポートデバイスに接続されたマシンに、当社のSerial to Ethernet Connectorをインストールします。
お使いのOSに適したバージョンを入手してください
2
Serial to Ethernet Connectorを起動し、アプリケーションのインターフェースを使用してUDP接続を作成します。ブロードキャストアドレスはお客様のネットワークのサブネット、例えば196.178.0.255です。複数のネットワークを持つコンピューターでは、UDPポートを使用して各ネットワークに指定されたブロードキャストを構成できます。
「UDP connection(UDP接続)」を選択し、設定します
3
これで、デバイスのシリアルポートから、無制限の数のネットワークデバイスやアプリケーションにデータをブロードキャストできるようになりました。任意のノードで生成されたすべてのデータをすべてのクライアントに送信するシステム向けに、物理的ポートまたは仮想ポートで複数の接続を設定することができます。
ブロードキャストされたデバイスは、左側の接続リスト内の他のコンピューターに表示されます
注意:ブロードキャストとは、ある送信者によって生成された情報を、ネットワークに接続されたすべてのデバイスに配信するためによく使われる手法です。この手法は、すべてのネットワークノードにメッセージを送信したり、デバイスの検出を行ったりする際によく使用されます。

ブロードキャストをサポートするように構成するには、すべてのネットワークデバイスに届くアドレスを指定する必要がある場合があります。IPネットワークでは、すべてのネットワークノードと通信するために255.255.255.255を使用するのが一般的です。ブロードキャストの設定は、特定のコンピューティング環境で使用される技術に基づいています。

お客様のお声

4.9 総合順位, 以下に基づく: 372 ユーザー レビュー
世界中の150社以上の企業様にご使用いただいております

よくある質問

UDP自体は、送信と受信を同じポート番号に結び付けるものではありません。UDPエンドポイントには、待ち受けるローカルポートと、送信先の宛先ポートがあり、これらは異なる場合があります。SECのUDP接続設定では、アドレス指定とポート設定が公開されているため、非対称の送信/受信ポート構成は、UDPが対応するよう設計されているものです。

両端で一致するよう、これを慎重に設定してください。送信先のポートは、相手側が待ち受けているポートでなければならず、戻り方向についても同様です。UDPには不一致を検出する接続ハンドシェイクがないため、ポート番号が間違っていると、単に無反応になります。つまり、エラーもなく、パケットが虚空に送られるだけです。設定時には、現在のUDP接続ダイアログにある正確なフィールド名とレイアウトを確認してください。

公開前に確認: 現在のビルドのUDP接続ダイアログにある、正確な送信/受信ポートのフィールドとオプションを確認してください。

回答者:Bohdan Miniv · QAエンジニアリング
デバイスに接続されたマシン上でUDP接続を作成し、その宛先をネットワークのブロードキャストアドレス — サブネットのホスト部がすべて1のアドレス(255.255.255.0 マスクの場合は、あなたの範囲の .255 アドレス)— に設定し、あわせてリスナーが使用するUDPポートも指定します。すると、そのサブネット上でそのポートを待ち受けているアプリケーションを持つ任意のマシンがデータを受信でき、受信側でリスナーごとの個別設定は不要です。

実用上のポイントをいくつか挙げると、複数のネットワークインターフェースを持つホストでは、意図した特定のネットワークに対するブロードキャストを設定し、誤ったセグメントに送信しないようにしてください。また、そのサブネット上ですでに別の用途で使用されていないポートを選んでください。正確なブロードキャストアドレスはサブネットマスクによって異なるため、固定値ではなく実際のネットワーク構成に基づいて決定してください。

回答者:Bohdan Miniv · QAエンジニアリング
はい。「複数の宛先」が何を意味するかによって、いくつかの方法があります。ローカルセグメント上のすべてのマシンにデータを受信させたい場合は、単一のブロードキャスト(前の質問)が最も簡単な方法です。つまり、1つのデータグラムをネットワークがそのポートで待ち受けているすべての受信側に配信します。特定の宛先の集合に送りたい場合は、UDP を特定のアドレスに向けて送信できます。また、適切に構成されたネットワーク全体で定義済みのグループに送るなら、マルチキャストがそのために設計された選択肢です。

選択を左右する率直な制約が2つあります。ブロードキャストはルーターを越えません。ローカルサブネット内にとどまるため、他のサブネット上やインターネット越しの「複数の宛先」にはブロードキャストでは到達できません。その場合は、それぞれに対してアドレス指定した(ユニキャストの)UDP、または TCP を使います。また、UDP はどの宛先に対しても配信保証を提供しないため、すべての受信者がすべてのメッセージを確実に受信しなければならないなら、どのようにアドレス指定するかに関係なく、UDP は不適切なトランスポートです。

回答者: Nikolai Svarachevsky · リード開発者
RFC 2217 は Telnet の拡張仕様の一式であり、ポート制御のネゴシエーションが TCP の保証に依存しているため、Telnet は TCP 上で動作します。ボーレートの設定や信号線の切り替えは、確実に順序どおり到着しなければならないインバンドコマンドで行われ、ネゴシエーションの過程で両端は互いに確認応答を行います。これは本質的にコネクション指向のやり取りです。

UDP には接続、順序保証、配信保証がありません。つまり、コマンドが失われたり、本来伴うべきデータと順序が前後して到着したりする可能性があり、その結果、両端でポート状態の認識が食い違うことになります。したがって、SEC における UDP は 生データ の伝送専用であり、通常は一方向ブロードキャストです。パラメータ制御や信号制御が必要なものは、すべて Telnet モードで TCP 上を流れます。トランスポートと機能セットは、必然的に結び付いています。

回答者: Nikolai Svarachevsky · リード開発者
送信前にバイトを蓄積するには、SEC のパケット化制御を使用します。特定の区切り文字が到着するまで、設定した時間が経過するまで、またはブロックが選択したサイズに達するまでデータを保持し、その後 SEC は収集したバイトを断片的に少しずつ送るのではなく、1 つのデータグラムとして送出します。メッセージ指向プロトコルでは、通常、メッセージ終端文字をトリガーにするのが、1 パケットあたり 1 メッセージを実現する最もすっきりした方法です。

UDP に特有の注意点が 1 つあります。ネットワークの MTU を超えるデータグラムは IP によってフラグメント化され、UDP ではそのうち 1 つでもフラグメントが失われると、データグラム全体が破棄されます。したがって、非常に大きなデータグラムを構築するのではなく、可能であれば蓄積した各メッセージが 1 つの MTU サイズのパケット内に収まるようにしてください。UDP が最も得意とするのは、小さく自己完結したメッセージです。

回答者: Nikolai Svarachevsky · リード開発者
raw モードの TCP サーバー接続については、はい — 送信先設定には Last active オプションがあり、受信側の Receive data from とあわせて、最後に応答したクライアントにのみデータを返します。目的が「直前に問い合わせてきた相手に返答する」ことであれば、これがドキュメント化された方法であり、各クライアントごとに接続状態が追跡されるため、TCP が自然な選択です。

特に UDP broadcast では、これは同じようには適用されません — ブロードキャストは 1 対多の送信モデルであり、返信先を特定するためのクライアントごとの接続がありません。そのため、最後の送信元への返送ルーティングが必要な場合は、UDP ブロードキャストではなく、Send data to → Last active を使用する raw TCP サーバーを利用してください。UDP でこれが必要な場合は、サポートしたい正確なフローを説明していただければ、現在のビルドで何が可能か確認します。

回答者:Bohdan Miniv · QAエンジニアリング
Serial to Ethernet Connector
シリアルポートデバイスをUDPでブロードキャスト
14日間の無料トライアルをご利用いただけます
ライセンス価格の開始は:$259.95
以下でご利用いただけます: