通信には,さまざまなシステムコールが使われる.通信で使われるシステムコールを表
1を示す.
ソケットの作製 | socket() |
ソケットに名前を付ける | bind() |
接続の受付準備 | listen() |
接続要求 | connect() |
データ転送 | read(), write() |
recv(), send() | |
recvfrom(), sendto() | |
ソケットのクローズ | shutdown, close |
その他 | ioctl(), socketpair() |
setsockopt(), getsockopt() | |
getsockname(), getpeername() |
socket()システムコール
#include <sys/socket.h> #inlcude <sys/types.h> int socket(int domain, int type, int protocol); |
bind()システムコール
#include <sys/socket.h> #inlcude <sys/types.h> int bind(int sock, struct sockaddr *addr, socket_t *addrlen); |
listen()システムコール
#include <sys/socket.h> int listen(int sock, int backlog); |
connect()システムコール
#include <sys/socket.h> #inlcude <sys/types.h> int connect(int sock, const struct sockaddr *addr, socket_t addrlen); |
accept()システムコール
#include <sys/socket.h> #inlcude <sys/types.h> int accept(int sock, struct sockaddr *addr, socket_t *addrlen); |
send()システムコール
#include <sys/types.h> #include <sys/socket.h> ssize_t send(int s, const void *buf, size_t len, int flags); |
recv()システムコール
#include <sys/types.h> #include <sys/socket.h> ssize_t recv(int s, void *buf, size_t len, int flags); |
recv()システムコール
#include <unistd.h> int close(int fd); |