一、SOCKET编程的步骤:
socket():创建一个socket,主动套接口。
bind();绑定ip和端口号到socket,需先配置ip、端口号。
connect():客户机(client)端和服务器发送请求建立连接。
listen():服务器(serv)监听client发送的请求。
accept():完成连接,阻塞响应。
sendto():发送数据
recvfrom():接收数据
close():分别关闭客户机和服务器。
二、函数介绍
1、int socket(int family,int type,int protocol)
family:多使用AF_INET ipv4协议
type:
(1)流式套接字,SOCKET_STREAM,遵循tcp协议
(2)数据报套接字,SOCKET_DGRAM,遵循udp协议
(3)原始套接字为测试新的网络协议。SOCK_RAW。
protocol:协议类型参数
2、int bind(int sockfd,const struct sockaddr * myaddr,socklen_t addrlen)
sockfd:socket()成功返回的文件描述符
struct sockaddr * myaddr:为通用socket地址,需要转换为struct sockaddr_in * myaddr(下面相同),且为本身的地址。
addrlen:地址长度
3、ip和端口的配置:
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htol(INADDR_ANY);
servaddr.sin_port = htos(SERV_PORT);
4、int listen(int sockfd,int backlog)
backlog:最大连接客户机的数目
5、int accept(int sockfd,struct sockaddr * cliaddr,socklen_t addrlen)
cliaddr:客户机的地址。
6、int connect(int sockfd,struct sockaddr * servaddr,socklen_t addrlen)
servaddr:服务器的地址