1

私はイーサネットプログラミングの初心者です。イーサネットポートにアクセスして、パケットを送受信したいと思っています。CIM_EthernetPort クラスを使おうと思ったのですが、やり方がわかりません。助けてください。組み込みシステムにデータを送信するプログラムを作成する必要があります。

4

1 に答える 1

6

ソケットが何であるかをよく理解していないと思います。

組み込みデバイスはどのプロトコルを使用していますか? それがTCPまたはUDP(または生のリンクプロトコルでさえ)である場合、定義上、ほとんどソケットを使用しています。

ソケットを使用せずにイーサネット アダプタと通信する必要がある唯一の理由は、ワイヤ レベル モニタやパケット スニファなどを作成する場合です。

ps -------------------------------------------------- ------------

UDP接続にはエンドポイントとポートがあるため、ソケットはネットワーク接続の抽象化にすぎません.ネットワークカードハードウェアと直接通信する場合、ソケットを使用するかどうかは少し哲学的です.

イーサネットではボーレート自体を指定しません。カードのハードウェアが速度をネゴシエートします。
ソケットを使用して UDP でデータを送信する際のオーバーヘッドはほとんどなく、通常は非常に効率的なデータ受信方法です。組み込みデバイスに RTOS がありますか、または何らかのポーリングでネットワーク アダプタと直接通信しようとしていましたか?

pps -------------------------------------------------- -----------------
組み込みデバイスで UDP を使用できる場合は、そうしてください。
最初にいくつかの数字を送信するだけで、最終的には、UDP が発明されたすべてのことを再発明し、再解決することになります。
標準プロトコルを使用することで、接続の両端をテストできるツールも入手できます (ハイパータームに相当する UDP が無料で提供されています)。

また、複数のデバイスは現在必要ありませんが、将来的には必要になる可能性があります。私が取り組んでいた以前の製品で UDP を使用することを主張しました - 設計者はイーサネットを単なるより高速なシリアル リンクと考えていました。この製品の多くのユニットを一緒にネットワーク化できることで、巨大な新しい市場が生まれました。

于 2011-01-06T06:34:55.083 に答える