小さなオブジェクト指向のヘッダーのみのソケット ライブラリ UDP と TCP の両方をサポートします
Socket クラスと Connection クラスがあります。 Connection クラスから継承し、転送するすべてのクラスの << および >> 演算子をオーバーライドできます。ソケット クラスは直接使用するためのものではありません。
TCP および UDP のクライアントおよびサーバーのテンプレート クラスがあります。
これらは Connection クラスで使用できます。
SocketExceptionクラスがあります
コミュニケーターのテスト 現在は送信/受信テストのみです
Connection クラスを継承し、構造体またはクラスのメソッド '>>' '<<' を実装するだけです。
次に、このクラスを TCP/UDP/クライアント/サーバー テンプレートのタイプとして使用します。
接続が確立されると、サーバーとクライアントは Connection オブジェクトを返します
(サーバー クラスの場合はAcceptConnection()
メソッド、クライアント クラスの場合はConnect()
メソッド)
すべてのクライアントにはTemplateConnection Connect(const std::string ip, const int port)
があります。
すべてのサーバー クラスにはTemplateConnection AcceptConnection()
があります。
1 つのソケットをバインドし、受信接続をリッスンします。
新たな接続要求が来ると、
accept()
を介して新しいソケットを開き、クライアントとの新しい接続を作成します。
アドレスをソケットにバインドする必要はありません。
サーバーアドレスを指定してconnect()
メソッドを呼び出すだけです。
ポートをバインドし、 recvfrom()
経由のリクエストを待ちます。
recvfrom()
では、受信接続に明示的にバインドされます。
サーバーのアドレスを指定してsendto()
を呼び出します。