c语言——socket编程

socket编程

socket函数

/*创建一个socket*/
int socket(int family,int type,int protocol)

family: 指定使用的协议簇:AF_INET(IPv4) AF_INET6(IPv6) AF_LOCAL(UNIX协议) AF_ROUTE(路由套接字) AF_KEY(秘钥套接字)
type:指定使用的套接字的类型:SOCK_STREAM(字节流套接字) SOCK_DGRAM
protocol:如果套接字类型不是原始套接字,那么这个参数就为0

bind函数

/*捆绑socket与一个本地地址*/
int bind(int sockfd, struct sockaddr *myaddr, int addrlen)

sockfd: socket函数返回的套接字描述符
sockaddr:
struct sockaddr{
unsigned short sa_family; //通信协议类型族AF_xx
char sa_data[14]; //14字节协议地址,包含该socket的IP地址和端口号
};
addrlen: 结构sockaddr的长度

connect函数

//连接服务器操作
int connect(int sockfd,const struct sockaddr *serv_addr,socklen_t addrlen)

listen函数

//监听客户端的请求
int listen(int sockfd, int backlog)

sockfd:socket函数绑定bind后套接字描述符
backlog:设置可连接客户端的最大连接个数,当有多个客户端向服务器请求时,收到此值的影响。默认值20

accept函数

//接受一个client连接
int accept(int sockfd,struct sockaddr *cliaddr,socklen_t *addrlen)

收发数据——除read/write之外)

int send(int sockfd, const void *msg,int len,int flags)
int recv(int sockfd, void *buf,int len,unsigned int flags)

socket实现demo
serve

你可能感兴趣的:(c语言)