WindowsとLinux用のクロスプラットフォームプログラムを作成しています:: Javaプログラムはtcp/ipそれはいくつかのデータを取得したときにそのTCP/IPポートから継続的にリッスンするC/C++プログラムがあり、結果データを別のtcp/ipポートに送信して、そこからJavaプログラムがデータといくつかのアクションを行います。 私はC/C++の部分がさらに心配です。詳細や有用なリンクやサンプルコードをお手伝いできますか?WindowsとLinuxの両方でC、C++のtcp/ipポートからデータを取得してデータを取得する方法
3
A
答えて
0
ネットワーキングAPI /ライブラリとイベント通知メカニズムが数多くあります。私はあなたがC++の初心者であり、あなたの実装からマイクロ秒を絞ったり、さまざまなプラットフォーム用に異なるコードを書いたりするためにプラットフォーム固有の機能に対処したいとは思っていないので、あなたの最善の策はBoost ASIO - aネットワークと低レベルのI/OプログラミングのためのクロスプラットフォームのC++ライブラリです。それは非常に良い文書、数多くの例を持ち、一般的に使用するのはかなり簡単です。アプリケーション内でコードの1行を変更する必要がない多くのプラットフォームで動作します。それには落とし穴がありますが、パフォーマンス、メモリ使用量、待ち時間、スループット、または上記のすべてを厳密に厳しく要求する非常に複雑な作業をしない限り、それほど重要ではありません。
私の前提に正しくない場合に備えて、多くの選択肢があります。それらのいくつかは以下のとおりです。
- libevent - 特定のイベントがファイルディスクリプタ上またはタイムアウト後に発生したときにコールバック関数を実行するためのメカニズムは
- epollに達している - のためのスケーラブルなI/Oイベント通知メカニズムをLinuxの
- kqueue - スケーラブルなイベント通知ものNetBSD、OpenBSDのではサポートはFreeBSD 4.1で導入され1インターフェース、DragonflyBSD、およびMac OS Xの
- POSIX
- Windows API(それらの人は常にホイールを再発明します)。
幸運!
2
私の提案:クロスプラットフォーム/クロスプラットフォームプロトコルを指定するためのC++クロスプラットフォームネットワーキングの場合はboost::asio、クロスプラットフォーム/クロス言語プロトコルの場合はgoogle protocol buffersです。
boost :: asioを使用してデータとGoogleプロトコルのバッファを送受信し、これらのバイトを有用なもの(ints、stringsなど)に変換します。
関連する問題
- 1. CのDataGridからselectedRowデータを取得する方法
- 2. C#でWSDLからデータを取得する方法は?
- 3. VB.NETのUSBポートからデータを取得する方法
- 4. サーバーからのJSONデータの取得方法と取得方法
- 5. Windows Phoneのxmldocumentからデータを取得(読み込み)する方法C#
- 6. IntPtrを渡してC#でデータを取得する方法は?
- 7. ListViewItemからデータを取得する方法。 WinForms、C#
- 8. C#asmx Webサービスからデータを取得/設定する方法
- 9. PHPからデータを取得する方法C#
- 10. リストビューから文字列としてデータを取得する方法C#asp.net
- 11. C#Oracleデータベースのすべてのデータを取得する方法
- 12. ユーザスペースからLinuxカーネルモジュールのリストを取得する方法Cコード?
- 13. C++からlinux 2.6でSPIDを取得する方法
- 14. LinuxのC/C++でユーザー名を取得する方法は?
- 15. APIとSQLデータベースの両方からデータを取得
- 16. Linux C!eofイベントの取得方法は?
- 17. プログラムで(C/C++)Linuxで国コードを取得する方法は?
- 18. _GET_ORDERS_DATA_レポートタイプからC#コードを使用してデータを取得する方法
- 19. C#WinForms - 別フォームを使用してテキストボックスからデータを取得する方法
- 20. C#を使用してファイルからEXIFデータを取得する方法
- 21. C#を使用してMySQLからデータを取得する方法
- 22. .NET、C#のクラスでJSONデータを取得する方法
- 23. c#:データベースからデータを取得して別のフォームに渡す方法は?
- 24. C/C++ Linuxでプロセッサシリアル番号を取得する方法
- 25. c関数からココア(目的c)関数へデータを取得する方法
- 26. Cのシートの列のデータを取得する方法#
- 27. WindowsサービスからWEBアプリケーションにデータを取得する方法は?
- 28. テンソルフローC/C++でLSTMの状態を取得して取得する方法
- 29. testmethodからC#でstringの値を取得する方法C#
- 30. は、Excelからデータを取得OLEDB C#
"TCP/IP経由で通信するプログラムを作成したい"というのは、役に立つ質問にはなりません。具体的に何が問題になっていますか?何を試しましたか? – cHao
私はC、C++のtcp/ip portにデータを読み込み、データを送信したいのですが、どうすればいいのですか? – Ronin
ヒント:あなたが望むのは、一般的に「ソケット」と呼ばれるものに関係しています。 – cHao