Tcp socket:
********************************************************
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <inttypes.h>
server:
int socket(int domain, int type, int protocol);
int bind(int s, const struct sockaddr *name, int namelen);
int accept(int s, struct sockaddr *addr, socklen_t *addrlen);
int listen(int s, int backlog);
ssize_t read(int fildes, void *buf, size_t nbyte);
ssize_t write(int fildes, const void *buf, size_t nbyte);
int getsockname(int s, struct sockaddr *name, socklen_t *namelen);
int getpeername(int s, struct sockaddr *name, socklen_t *namelen);
char *inet_ntoa(const struct in_addr in);
uint16_t htons(uint16_t hostshort);
int close(int fildes);
in_addr_t inet_addr(const char *cp);
client:
int connect(int s, const struct sockaddr *name, int namelen);
pid_t fork(void);
********************************************************
udp socket:
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/uio.h>
int socket(int domain, int type, int protocol);
ssize_t recvfrom(int s, void *buf, size_t len, int flags,
struct sockaddr *from, int *fromlen)
ssize_t sendto(int s, const void *msg, size_t len, int
flags, const struct sockaddr *to, int tolen);
int bind(int s, const struct sockaddr *name, int namelen);