计算机网络
计算机网络
套接字
套接字(Socket)是计算机网络中用于 实现设备间通信的编程接口,可以理解为网络数据传输的“端点”。它是操作系统提供的底层工具,允许不同设备(或同一设备上的不同程序)通过 IP地址 + 端口号 的组合进行数据交换。
核心概念
- 通信端点
- 每个套接字对应一个唯一的网络地址(IP + 端口),例如:
192.168.1.100:8080
(本机IP + Web服务端口)104.18.21.34:443
(远程服务器IP + HTTPS端口)
- 每个套接字对应一个唯一的网络地址(IP + 端口),例如:
- 协议支持
- 支持多种网络协议:
- TCP(传输控制协议):面向连接,数据可靠传输(如网页浏览)。
- UDP(用户数据报协议):无连接,速度快但不可靠(如视频直播)。
- 原始套接字(Raw Socket):直接处理底层协议(如ICMP、自定义协议)。
- 支持多种网络协议:
- 跨平台性
- 不同操作系统实现类似接口(如Windows的Winsock、Linux的BSD Socket)。
核心功能
- 建立连接
- TCP:通过三次握手建立连接(客户端-服务器模型)。
- UDP:无需预先连接,直接发送数据。
- 数据传输
- 发送数据:
send()
(TCP)或sendto()
(UDP)。 - 接收数据:
recv()
(TCP)或recvfrom()
(UDP)。
- 发送数据:
- 地址绑定
- 服务器通过
bind()
绑定IP和端口,监听客户端请求(如Web服务器监听80端口)。
- 服务器通过
原始套接字
标准套接字
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 WK's Blog!
评论