1

バーコード スキャナー、燃料ポンプ、キャッシュ ドロワーなどの多くのイーサネット デバイスとやり取りする必要がある Objective-C POS を作成しました。おそらく、デバイスごとに c++ でドライバーを作成する必要があるでしょう。問題は、イーサネット デバイス ドライバーの書き方がわからないことです。私を助けてくれる人はいますか?

ところで、私は Apple dev サイトでイーサネット ドライバのコード サンプルを見たことがありません。

前もって感謝します!

4

1 に答える 1

1

使用しているプラ​​ットフォームが iOS または MacOS を実行している場合、イーサネット ドライバーとTCP/IPスタックが既に存在します。おそらく作成する必要があるのは、ソケットAPI を使用してさまざまなデバイスと通信するモジュール/クラスです。これらのモジュール/クラスはアプリケーション レベルで記述されており、OS デバイス ドライバーではありません。

iOS/MacOS でソケットを使用するには、CFNetworkフレームワークを使用するか、より直接的にBSD ソケットを使用します。ソケットプログラミングに関する文献や例はたくさんあります。CFNetwork に関する文献はそれほど多くありませんが、CFNetwork には、アプリの実行ループと統合しやすいという利点があります。

ソケット ネットワーク プログラミングを学習するためのリソースを一覧表示するこの回答を確認してください。


3 番目のオプションは、Boost.Asioライブラリを使用することです。これは、「最新の C++ アプローチを使用して一貫した非同期モデルを開発者に提供する、ネットワークおよび低レベル I/O プログラミング用のクロスプラットフォーム C++ ライブラリ」です。このドキュメンテーションページでは、asio の使用方法に関するいくつかの例を示します。Objective-C++ (*.mm ファイルを含む) を使用して、Objective-C と C++ を混在させることができます。

于 2012-07-30T21:53:28.137 に答える