CONNECT(2) FreeBSD システムコールマニュアル CONNECT(2)
名称
connect − ソケット上で接続を開始する |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <sys/types.h> int |
connect(int s, const struct sockaddr *name, socklen_t namelen); |
解説 |
s 引数はソケットです。このタイプが SOCK_DGRAM の場合、この呼び出しはソ ケットが結び付けられる通信相手を指定します。このアドレスは送信データグラ ムの送信先であり、受信データグラムの送信元となる唯一のアドレスです。ソ ケットのタイプが SOCK_STREAM の場合、この呼び出しは通信相手のソケットに接 続を確立しようとします。通信相手のソケットは name で指定されます。 name はソケット通信空間内のアドレスです。各通信空間は name 引数を独自の方法で 解釈します。一般に、ストリームソケットが正常に connect() できるのは 1 回 だけです。データグラムソケットは connect() を複数回使用してその結び付けを 変更できます。データグラムソケットは、NULL アドレスのような無効なアドレス に接続することによって結び付けを解除できます。 |
戻り値
関数 connect() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。 |
エラー
connect() システムコールは次の場合に失敗します: |
[EBADF]
s 引数が有効な記述子でありません。 [ENOTSOCK] [EADDRNOTAVAIL] [EAFNOSUPPORT] [EISCONN] [ETIMEDOUT] [ECONNREFUSED] [ENETUNREACH] [EHOSTUNREACH] [EADDRINUSE] [EFAULT] [EINPROGRESS] [EINTR] [EALREADY] [EACCES] 以降のエラーは、UNIX ドメインの接続名に固有です。これらのエラーは、UNIX IPC ドメインの将来のバージョンには適用されない可能性があります。 [ENOTDIR] [ENAMETOOLONG] [ENOENT] [EACCES] [EACCES] [ELOOP] 関連項目 |
accept(2), getpeername(2), getsockname(2), select(2), socket(2) |
歴史
connect() システムコールは 4.2BSD で登場しました。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |