Unix-sockets-socket-summary

提供:Dev Guides
移動先:案内検索

Unixソケット-概要

以下は、ソケットプログラミングに関連するすべての機能のリストです。

ポートおよびサービス機能

Unixは、/etc/servicesファイルからサービス名を取得するために次の関数を提供します。

  • struct servent getservbyname(char name、char proto)*-この呼び出しはサービス名とプロトコル名を取り、そのサービスに対応するポート番号を返します。
  • struct servent getservbyport(int port、char * proto)*-この呼び出しはポート番号とプロトコル名を取り、対応するサービス名を返します。

バイト順序付け関数

  • * unsigned short htons(unsigned short hostshort)*-この関数は、16バイト(2バイト)の量をホストバイト順からネットワークバイト順に変換します。
  • * unsigned long htonl(unsigned long hostlong)*-この関数は、32ビット(4バイト)量をホストバイト順からネットワークバイト順に変換します。
  • * unsigned short ntohs(unsigned short netshort)*-この関数は、16バイト(2バイト)の量をネットワークバイト順からホストバイト順に変換します。
  • * unsigned long ntohl(unsigned long netlong)*-この関数は、32ビット量をネットワークバイト順からホストバイト順に変換します。

IPアドレス機能

  • int inet_aton(const char strptr、struct in_addr * addrptr)*-この関数呼び出しは、指定された文字列をインターネット標準ドット表記でネットワークアドレスに変換し、指定された構造にアドレスを格納します。 変換されたアドレスは、ネットワークバイト順(バイトは左から右へ)になります。 文字列が有効な場合は1を返し、エラーの場合は0を返します。
  • in_addr_t inet_addr(const char strptr)*-この関数呼び出しは、インターネット標準ドット表記の指定された文字列を、インターネットアドレスとしての使用に適した整数値に変換します。 変換されたアドレスは、ネットワークバイト順(バイトは左から右へ)になります。 エラー時に32ビットのバイナリネットワークバイト順のIPv4アドレスとINADDR_NONEを返します。
  • char inet_ntoa(struct in_addr inaddr)*-この関数呼び出しは、指定されたインターネットホストアドレスをインターネット標準ドット表記の文字列に変換します。

ソケットコア機能

  • * intソケット(intファミリ、int型、intプロトコル)*-この呼び出しは、後のシステムコールで使用できるソケット記述子を返します。エラーの場合は-1を返します。
  • int connect(int sockfd、struct sockaddr serv_addr、int addrlen)*-TCPクライアントは、connect関数を使用してTCPサーバーとの接続を確立します。 この呼び出しは、サーバーへの接続に成功した場合は0を返し、それ以外の場合は-1を返します。
  • int bind(int sockfd、struct sockaddr my_addr、int addrlen)*-bind関数は、ローカルプロトコルアドレスをソケットに割り当てます。 この呼び出しは、アドレスに正常にバインドされた場合は0を返し、そうでない場合は-1を返します。
  • * int listen(int sockfd、int backlog)*-listen関数は、クライアント要求をリッスンするためにTCPサーバーによってのみ呼び出されます。 この呼び出しは成功すると0を返し、そうでなければ-1を返します。
  • int accept(int sockfd、struct sockaddr cliaddr、socklen_t * addrlen)*-accept関数は、クライアント要求を受け入れ、実際の接続を確立するためにTCPサーバーによって呼び出されます。 この呼び出しは、成功すると負でない記述子を返します。それ以外の場合は、-1を返します。
  • int send(int sockfd、const void msg、int len、int flags)*-send関数は、ストリームソケットまたはCONNECTEDデータグラムソケットを介してデータを送信するために使用されます。 この呼び出しは、送信されたバイト数を返します。それ以外の場合、-1を返します。
  • int recv(int sockfd、void buf、int len、unsigned intフラグ)*-recv関数は、ストリームソケットまたはCONNECTEDデータグラムソケットでデータを受信するために使用されます。 この呼び出しは、バッファに読み込まれたバイト数を返します。それ以外の場合は、エラー時に-1を返します。
  • int sendto(int sockfd、const void msg、int len、unsigned int flags、const struct sockaddr * to、int tolen)*-sendto関数は、UNCONNECTEDデータグラムソケットを介してデータを送信するために使用されます。 この呼び出しは送信されたバイト数を返し、そうでない場合はエラー時に-1を返します。
  • int recvfrom(int sockfd、void buf、int len、unsigned int flags struct sockaddr from、int fromlen)*-recvfrom関数は、UNCONNECTEDデータグラムソケットからデータを受信するために使用されます。 この呼び出しは、バッファに読み込まれたバイト数を返します。それ以外の場合は、エラー時に-1を返します。
  • * int close(int sockfd)*-close関数は、クライアントとサーバー間の通信を閉じるために使用されます。 この呼び出しは成功すると0を返し、そうでなければ-1を返します。
  • * int shutdown(int sockfd、int how)*-シャットダウン機能は、クライアントとサーバー間の通信を正常に閉じるために使用されます。 この関数は、close関数と比較してより多くの制御を提供します。 成功すると0を返し、そうでなければ-1を返します。
  • int select(int nfds、fd_set readfds、fd_set writefds、fd_set errorfds、struct timeval * timeout)*-この関数は、複数のソケットの読み取りまたは書き込みに使用されます。

ソケットヘルパー関数

  • int write(int fildes、const void buf、int nbyte)*-書き込み関数は、bufが指すバッファーからnbyteバイトを、開いているファイル記述子fildesに関連付けられたファイルに書き込もうとします。 正常に完了すると、write()は、fildesに関連付けられたファイルに実際に書き込まれたバイト数を返します。 この数がnbyteを超えることはありません。 それ以外の場合、-1が返されます。
  • int read(int fildes、const void buf、int nbyte)*-読み取り関数は、オープンファイル記述子fildesに関連付けられたファイルからnufバイトをbufが指すバッファーに読み取ろうとします。 正常に完了すると、write()は、fildesに関連付けられたファイルに実際に書き込まれたバイト数を返します。 この数がnbyteを超えることはありません。 それ以外の場合、-1が返されます。
  • * int fork(void)*-fork関数は新しいプロセスを作成します。 子プロセスと呼ばれる新しいプロセスは、呼び出し元プロセス(親プロセス)の正確なコピーになります。
  • void bzero(void s、int nbyte)*-bzero関数は、文字列sにnbyte nullバイトを配置します。 この関数は、すべてのソケット構造にヌル値を設定するために使用されます。
  • int bcmp(const void s1、const void * s2、int nbyte)*-bcmp関数は、バイト文字列s1とバイト文字列s2を比較します。 両方の文字列は、nbyteバイト長であると想定されます。
  • void bcopy(const void s1、void * s2、int nbyte)*-bcopy関数は、nbyteバイトを文字列s1から文字列s2にコピーします。 重複する文字列は正しく処理されます。
  • void memset(void * s、int c、int nbyte)*-memset関数は、bzeroと同じ方法で構造変数を設定するためにも使用されます。