计算机毕业设计之基于微信小程序的社区医院预约挂号系统的设计与实现
2026/6/26 7:45:16
:
OSI(开放系统互连)模型是一个七层框架,用于描述网络通信过程。TCP/IP协议栈是互联网模型的核心,它将OSI模型简化合并为四层:
www.baidu.com)解析为IP地址。ping测试)、RIP/OSPF(路由协议)。OSI模型是通用框架,而TCP/IP是其实践实现,广泛应用于互联网。
IP地址用于唯一标识网络设备,由网络位和主机位组成:
192.168.0.1)和IPv6(未来方向)。/etc/network/interfaces设置永久IP,或使用命令临时设置:ifconfig ens33 192.168.0.13/24 # 临时设置IP,重启失效 sudo /etc/init.d/networking restart # 重启网络服务生效测试网络连通性:ping www.baidu.com。
常用命令用于管理和诊断网络:
ifconfig:查看网络接口配置,如IP地址、MAC地址。netstat -anp:列出所有网络连接和端口使用情况。/etc/network/interfaces设置静态或动态IP(通过DHCP)。关键术语澄清:
UDP(用户数据报协议)特性:无连接、低延迟、易丢失数据(发送过快可能导致丢包)。编程中使用C语言函数,以下是核心函数解释:
int socket(int domain, int type, int protocol);domain:地址族,如AF_INET(互联网)或AF_UNIX(单机)。type:套接字类型,如SOCK_DGRAM(UDP)。protocol:协议,0表示自动适应。示例代码:
#include <sys/socket.h> int sockfd = socket(AF_INET, SOCK_DGRAM, 0); // 创建UDP套接字int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen);sockfd:套接字ID。my_addr:地址结构体(如struct sockaddr_in)。addrlen:地址结构体长度。地址结构体示例:
struct sockaddr_in { u_short sin_family; // 地址族,如AF_INET u_short sin_port; // 端口号 struct in_addr sin_addr; // IP地址 };ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);sockfd:套接字ID。buf:数据缓冲区。len:数据长度。flags:发送方式,0为阻塞。dest_addr:目标地址结构体。addrlen:目标地址长度。ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);sockfd:套接字ID。buf:存储数据的缓冲区。len:缓冲区大小。flags:接收方式,0为阻塞。src_addr:可选的源地址结构体(NULL表示不关心)。addrlen:源地址长度指针。UDP编程中,注意数据边界和丢包风险。例如,发送太快时使用流量控制机制。