どのようにC ++を使用してアクセスイーサネットポートへ?ソケットを使用せず
-
26-09-2019 - |
質問
私はイーサネットプログラミングに初心者だけど、私はそれから/へのイーサネットポートおよび送信/レシーブパケットにアクセスしたいです。私はCIM_EthernetPortクラスを使用するのではと思ったが、どのように行うのか分かりません。助けてください。私は、組み込みシステムにデータを送信するプログラムを記述する必要があります。
解決
私は、あなたはかなりのソケットが何であるかを理解しないと思います。
どのようなプロトコルは、お使いのデバイスの使用を埋め込まれていますか?それのTCPやUDP(あるいは生のリンクプロトコル)場合、それはかなりの定義でソケットを使用しています。
あなたは、ワイヤレベルのモニターのような書き込みに何かをしたい場合は、は、ソケットを使用することなく、イーサネットアダプタに話をする必要がある場合があります唯一の理由であるか、またはパケットスニファます。
PS ---------------------------------------------- ---------------
UDP接続がエンドポイントとあなたがソケットを使用している天気を使用すると、ネットワークカードのハードウェアに直接話せば、それは少し哲学的だポートを持っているので、ソケットは、ネットワーク接続の単なる抽象化されています。
あなたはカードHWが速度をネゴシエートします、イーサネット上のようなボーレートを指定しないでください。
そこソケットを使用してUDPでデータを送信するには非常に少ないオーバーヘッドであり、それは通常、データを受信した非常にefficent方法です。あなたは、組み込みデバイス上のRTOSをお持ちですかあなたは、ポーリングのいくつかの並べ替えと直接ネットワークアダプタに話をしようとしていましたか?
PPS ---------------------------------------------- --------------------
それは、組み込みデバイス上でUDPを使用するすべての可能であるならば - 。DO SO
あなたは、私はいくつかの数字を送信する必要がで始まる場合は、最終的に再発明しUDPを行うために発明されたすべてのものを再解決を終わる。
標準プロトコルを使用することによって、あなたはまた、あなたが接続の両側をテストしてみましょうするためのツールを得る(ハイパーターミナルのUDP等価物は無料です)。
また、複数のデバイスの必要は今はありませんが、将来的には可能性があります。設計者はただ速いシリアルリンクとしてイーサネットを考えていた - 私は私が上で働いていた以前の製品にUDPを使用するために主張しました。この商品の多くのユニットをネットワークにできることは、巨大な新市場を作成しています。