JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ); 説明 listen () は sockfd が参照するソケットを接続待ちソケット (passive socket) として印をつける。 接続待ちソケットとは、 accept (2) を ... 合にはゼロが返される。エラー時には -1 が返され、 errno が適切に設定される。 エラー EADDRINUSE 別のソケットが既に同じポートを listen している。 EADDRINUSE (インターネットドメインソケットの場合) sockfd が参照するソケットがそれ以前にアドレスにバインドされて ... ファイルディスクリプターでない。 ENOTSOCK ファイルディスクリプター sockfd がソケットを参照していない。 EOPNOTSUPP ソケットは listen () がサポートしている型ではない。 準拠 POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD ( listen () は 4.2BSD で初めて実装された) ... ... 固まる FTP クライアントがあるので、 これを有効にしたくなるかもしれない。 デフォルト: NO background YES に設定し、vsftpd が "listen" モードで起動された場合、 リスナープロセスをバックグラウンドにする。 すなわち、vsftpd を起動したシェルにすぐに制御が戻る。 ... デフォルト: NO hide_ids YES に設定した場合、ディレクトリリストでのユーザ・グループの情報を "ftp" と表示する。 デフォルト: NO listen YES に設定した場合、スタンドアロンモードで起動する。 これは inetd などのスーパーサーバから起動してはいけないということを意 ... に、vsftpd プログラムを一度だけ直接実行すればよい。 vsftpd 自身が、入ってくる接続を待ち、処理する面倒をみる。 デフォルト: NO listen_ipv6 IPv4 ソケットの代わりに IPv6 ソケットを待ち受ける点を除けば、 listen オプションと同じである。 このオプションと listen ... ... でストール (stall) しないように、 使い方をより明確にしておく必要がある。 この例では、リスナはブロックしないソケットであり、 listen (2) が呼ばれている。 関数 do_use_fd() は、 read (2) または write (2) によって EAGAIN が返されるまでは、新しい準備済みのファ ... から read (2) または write (2) を継続することができる。 #define MAX_EVENTS 10 struct epoll_event ev, events[MAX_EVENTS]; int listen_sock, conn_sock, nfds, epollfd; /* Code to set up listening socket, 'listen_sock', (socket(), bind(), listen()) omitted */ ... = epoll_create1(0); if (epollfd == -1) { perror("epoll_create1"); exit(EXIT_FAILURE); } ev.events = EPOLLIN; ev.data.fd = listen_sock; if (epoll_ctl(epollfd, EPOLL_CTL_ADD, listen_sock, &ev) == -1) { perror("epoll_ctl: listen_sock"); exit(EXIT_FAILURE ... ... ude < sys/un.h > #include < stdlib.h > #include < stdio.h > #include < string.h > #define MY_SOCK_PATH "/somepath" #define LISTEN_BACKLOG 50 #define handle_error(msg) \ do { perror(msg); exit(EXIT_FAILURE); } while (0) int main(int argc, char *argv[]) ... zeof(my_addr.sun_path) - 1); if (bind(sfd, (struct sockaddr *) &my_addr, sizeof(my_addr)) == -1) handle_error("bind"); if (listen(sfd, LISTEN_BACKLOG) == -1) handle_error("listen"); /* Now we can accept incoming connections one at a time using accept ( ... ame, MY_SOCK_PATH should be deleted using unlink (2) or remove (3) */ } 関連項目 accept (2), connect (2), getsockname (2), listen (2), socket (2), getaddrinfo (3), getifaddrs (3), ip (7), ipv6 (7), path_resolution (7), socket (7), unix (7) この文書につ ... ... rc ] [ --no-netrc ] [ --secure ] [ -z , --gzip ] [ -K , --key-size bits ] [ user @ ] machine1 [ : port1 ] machine2 : port2 listen_port 説明 forward はローカルマシンの listen_port で待ち受ける。接続を受信すると、その接続を secure-mcserv (1) デーモンが既 ... フォワードする。すると secure-mcserv デーモンは machine2 のポート port2 に接続する。そしてすべてのトラフィックは、 透過的に listen_port と machine2 の port2 の間をフォワードされる。 ローカルマシンの listen_port と machine2 の port2 との間の接続は、 --se ... ... socketcall () について知る必要がある。 call マニュアル SYS_SOCKET socket (2) SYS_BIND bind (2) SYS_CONNECT connect (2) SYS_LISTEN listen (2) SYS_ACCEPT accept (2) SYS_GETSOCKNAME getsockname (2) SYS_GETPEERNAME getpeername (2) SYS_SOCKETPAIR socketpair ... all performance improvement. 関連項目 accept (2), bind (2), connect (2), getpeername (2), getsockname (2), getsockopt (2), listen (2), recv (2), recvfrom (2), recvmsg (2), send (2), sendmsg (2), sendto (2), setsockopt (2), shutdown (2), socket (2), soc ... ... arpa/inet.h > #include < errno.h > static int forward_port; #undef max #define max(x,y) ((x) > (y) ? (x) : (y)) static int listen_socket(int listen_port) { struct sockaddr_in addr; int lfd; int yes; lfd = socket(AF_INET, SOCK_STREAM, 0); if (lfd == -1) ... sizeof(yes)) == -1) { perror("setsockopt"); close(lfd); return -1; } memset(&addr, 0, sizeof(addr)); addr.sin_port = htons(listen_port); addr.sin_family = AF_INET; if (bind(lfd, (struct sockaddr *) &addr, sizeof(addr)) == -1) { perror("bind"); close(lf ... d); return -1; } printf("accepting connections on port %d\n", listen_port); listen(lfd, 10); return lfd; } static int connect_socket(int connect_port, char *address) { struct sockaddr_in addr ... ... ソケットを新規に生成し、 そのソケットを参照する新しいファイルディスクリプターを返す。 新規に生成されたソケットは、接続待ち (listen) 状態ではない。 もともとのソケット sockfd はこの呼び出しによって影響を受けない。 引数 sockfd は、 socket (2) によって生成さ ... れ、 bind (2) によってローカルアドレスにバインドされ、 listen (2) を経て接続を待っているソケットである。 addr 引数は sockaddr 構造体へのポインターである。 この構造体には接続相手のソケッ ... は 4.2BSD で初めて実装された). accept4 () は非標準の Linux による拡張である。 Linux では、 accept () が返す新しいソケットは listen を行っているソケットの ファイル状態フラグ ( O_NONBLOCK や O_ASYNC など) を継承「しない」。 この動作は標準的な BSD ソケット ... ... ソケットを新規に生成し、 そのソケットを参照する新しいファイルディスクリプターを返す。 新規に生成されたソケットは、接続待ち (listen) 状態ではない。 もともとのソケット sockfd はこの呼び出しによって影響を受けない。 引数 sockfd は、 socket (2) によって生成さ ... れ、 bind (2) によってローカルアドレスにバインドされ、 listen (2) を経て接続を待っているソケットである。 addr 引数は sockaddr 構造体へのポインターである。 この構造体には接続相手のソケッ ... は 4.2BSD で初めて実装された). accept4 () は非標準の Linux による拡張である。 Linux では、 accept () が返す新しいソケットは listen を行っているソケットの ファイル状態フラグ ( O_NONBLOCK や O_ASYNC など) を継承「しない」。 この動作は標準的な BSD ソケット ... ... ect (2) はソケットをリモートのソケットアドレスに接続する。 bind (2) はソケットをローカルのソケットアドレスにバインドする。 listen (2) はソケットに新しい接続が来たら受信するように伝え、 accept (2) は外部からやってきた接続に対して新しいソケットを得るため ... トレベルには SOL_SOCKET を指定すること。 注釈がない限り、 optval は int へのポインターである。 SO_ACCEPTCONN このソケットが listen (2) によって接続待ち受け状態に設定されているかどうかを示す値を返す。 値 0 は listen 状態のソケットでないことを、 値 1 は l ... ed in the order in which they are added to the group (that is, the order of bind (2) calls for UDP sockets or the order of listen (2) calls for TCP sockets). New sockets added to a reuseport group will inherit the BPF program. When a socket is removed ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。