4

さて、C++用の標準のソケットヘッダーファイルがあるかどうか疑問に思っていました

私は(グーグル検索エンジンを使用して)インターネット全体を検索しましたが、Boost、chilkatなどのいくつかのライブラリを見つける以外に、C++の標準ソケットヘッダーファイルを見つけることができませんでした...

私はCプログラミング言語用の標準ソケットヘッダーファイルを見つけることに成功しただけです。C標準のソケットヘッダーファイルを使用したが、C ++コード内では、プログラムが純粋なC++またはCおよびC++であることを意味しますか?

標準のC++ソケットヘッダーファイルが見つからなかったためです。<string>C ++用とC用があり<string.h>ますが、C++用のソケット標準ヘッダーファイルはありません。

C / C ++の賢明な人が、私のためにそのすべてを段階的に説明してくれることを願っています。

4

3 に答える 3

7

C++には標準のソケットライブラリはありません。オペレーティングシステムが提供するソケットAPI(通常はC API、UnixオペレーティングシステムではBSDソケットAPI )を使用するか、クロスプラットフォームのBoost.ASIOなどのC++ライブラリを使用できます。

于 2012-04-21T20:29:43.450 に答える
2

70 年代に Bill Joy によって発明されたBSD ソケットは、間違いなく「標準ソケット API」です。

通常、次のヘッダーを含めます。

#include <sys/socket.h> // Core BSD socket functions and data structures.
#include <netinet/in.h> // AF_INET and AF_INET6 address families and their
                        // corresponding protocol families PF_INET and PF_INET6.
#include <arpa/inet.h>  // Functions for manipulating numeric IP addresses.
#include <netdb.h>      // Name resolution

Beej's Guide は、ソケット (BSD ソケット) プログラミングに関する優れたチュートリアルです。

http://beej.us/guide/bgnet/

于 2012-04-21T20:43:59.033 に答える
0

C ヘッダー ファイルをインクルードし、c++ を使用してコードをコンパイルすると、c++ アプリが生成されます。Boost::asio、ACE、WinSock など、使用できる多数の C++ フレームワークがあります。コードを移植可能にするかどうか、およびアプリケーションを特定の OS でのみ実行するかどうかによって異なります。Linux、Mac、または Windows。

また、C++ は C のスーパーセットであるため、C++ プログラムをコンパイルしているため、C または C++ を使用するかどうかは無関係であり、C++ を純粋かつ単純に生成します。

于 2012-04-21T20:39:12.280 に答える