socket 套接字——概念(一)

一、认识IP地址:

IP协议有两个版本, IPv4和IPv6.
我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4 IP地址是在IP协议中, ⽤用来标识网络中不同主机的地址;
对于IPv4来说, IP地址是⼀一个4字节, 32位的整数;
我们通常也使⽤用 "点分⼗十进制" 的字符串表⽰示IP地址, 例如 192.168.0.1 ; ⽤用点分割的每⼀一个数字表 ⽰示⼀一个字节, 范围是 0 - 255。

二、认识端口号:

   端口号:具有两字节大小的整数;标识某一个进程;
   IP地址+端口号能够标识网络上的一台主机的某一个进程;(唯一)
   一个端口号只能被一个进程占用;

  socket 套接字=IP地址+端口号;
   网络间两个socket之间的通信,就是两个进程的通信。

三、TCP 协议:(信息可靠性高)

    传输层协议 ;有连接 ;可靠传输 ;面向字节流。

四、UDP协议:(效率高)

     传输层协议 ;⽆无连接 ;不可靠传输 ;面向数据报。

五、网络字节序:

     默认为大端;发送时主机转网络,接收时网络转主机。

六、socket 常用 API接口(系统调用)

 // 创建 socket ⽂文件描述符 (TCP/UDP, 客户端 + 服务器)
int socket(int domain, int type, int protocol);
// 绑定端⼝口号 (TCP/UDP, 服务器)  
int bind(int socket, const struct sockaddr *address,  socklen_t address_len);
// 开始监听socket (TCP, 服务器)
int listen(int socket, int backlog);
// 接收请求 (TCP, 服务器)
int accept(int socket, struct sockaddr* address,  socklen_t* address_len);
// 建⽴立连接 (TCP, 客户端)
int connect(int sockfd, const struct sockaddr *addr,  socklen_t addrlen);
 

      
 

猜你喜欢

转载自blog.csdn.net/fayfayfaydyt/article/details/82154132