网络编程套接字(socket)

本文介绍了网络编程的基本概念,包括IP地址和端口号的作用及区别、TCP和UDP两种主要传输层协议的特点,以及网络字节序的概念。同时,还详细讲解了使用socket进行网络编程的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网络编程基础知识

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. 关闭打开的文件描述符

 

UDP编程

udp版本的服务器和客户端

 

Tcp版本的客户端和服务器

TCP版本的多进程服务器

TCP版本的多线程服务器

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值