通信には,さまざまなシステムコールが使われる.通信で使われるシステムコールを表
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);
|