套接字--socket编程就是网络通信程序的编写
网络通信程序的编写使用的都是套接字接口
我们可以把套接字理解为介于操作系统和用户之间网络通信的中间层面,通过这个接口可以访问内核,实现网络通信程序的编写
网络通信程序的编写:TCP/IP五层中应用层是面向程序员的一层,应用层的协议都是程序员自己订立的,应用层处理完毕后,都会将数据交给操作系统,进行传输层开始往下的封装。但是传输层提供了两个典型协议:UDP / TCP
在通信程序的编写中TCP和UDP的流程不同,
下面介绍UDP通信程序的编写:
在网络通信中,都是端与端之间的通信,两台主机上两个进程间的通信
客户端和服务端
客户端给服务器发送数据,必须提前知道服务器的地址信息。
接口介绍:
1.创建套接字
// 创捷套接字
int socket( int domain, int type, int protocol)
// 参数介绍
// domain : 地址域类型 (地址有各个结构 IPV4 , IPV6)-- 表示这是什么样的通信的套接字
// AF_INET(ipv4版本的地址域)
// type 套接字类型 SOCK_STREAM ---流式套接字 SOCK_DGRAM --- 数据报套接字
// protocol 协议类型 0 表示套接字类型的默认协议
// 返回值: 返回套接字操作句柄(一个文件描述符) 失败返回 -1;
2.为套接字绑定地址信息:
//2.为套接字绑定地址信息
int bin(int sockfd, struct sockaddr* addr, socklen_t len)
//参数
// sockfd: 创建套接字的操作句柄
// addr: 要绑定的地址信息,IPV4使用的式 struct sockaddr_in
// len:地址信息的长度
//返回值:成功放回0 失败返回0