网络编程基础知识

IP地址(网络层):即网络中的门牌号,用点分十进制表示(默认IPV4)

 

端口号(传输层协议)

  1. 一个2字节16位的整数

  2. 用来标识一个进程

  3. IP地址+端口号可以标识一个唯一的进程

  4. 一个端口号只能被一个进程占用

 

 

端口号和进程PID的区别?

端口号是在网络传输的方面对进程的标识

进程ID是在操作系统上对它的一个唯一的标识

 

TCP协议(传输控制协议)

  1. 传输层协议

  2. 面向字节流(一个一个发)

  3. 可靠传输

  4. 有连接

UDP协议(用户数据包协议)

  1. 传输层协议

  2. 无连接

  3. 不可靠传输(数据要是丢了,发送方不清楚)

  4. 面向数据报(一块一块发)

 

网络字节序

字节序,即大端模式还有小端模式

网络传输流有大端和小端之分,在发送数据的时候要规定是大端发送还是小端发送,不能混用

 

socket

socket文件描述符:一个特殊的文件类型

socket网络编程步骤

  1. 创建socket文件描述符

  2. 绑定端口号(TCP/UDP)

  3. 监听(专用于TCP,让socket变成被动模式,即可以被动的让人建立连接)

  4. 接受请求(TCP):bind

  5. 建立连接(TCP):connect

  6. 发送数据(TCP):send

  7. 发送数据(TCP/UDP):sendto

  8. 接受数据(TCP):recv

  9. 接受数据(TCP/UDP):recvfrom

  10. 关闭打开的文件描述符

 

网络编程套接字(socket)

UDP编程

udp版本的服务器和客户端

 

Tcp版本的客户端和服务器

TCP版本的多进程服务器

TCP版本的多线程服务器

 

码云地址:https://gitee.com/zmmya/tcpudp

 

相关文章: