目录
什么是socket编程
我们把socket称为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用,已实现进程在网络中的通信
Socket编程主要包括以下步骤:
-
创建Socket对象,指定协议类型和传输方式。
-
绑定Socket对象到本地IP地址和端口号。
-
监听Socket对象,等待客户端连接。
-
接受客户端连接请求,建立连接。
-
发送数据到连接的客户端。
-
接受客户端发送的数据。
-
关闭连接。
AF_UNIX:用在局域网中,系统上的套接字地址族,是本地进程间通信的机制,使得两个进程可以在同一台计算机上通过套接字进行通信,而不需要经过网络协议栈的处理,具有较高的性能和可靠性。
AF_INET:用在互联网,用于在网络上进行进程间通信,他支持TCP和UDP协议,包含IP地址和端口号,被广泛用于网络通信和互联网应用程序中。
服务端
客户端和服务端谁先启动:一定是先启动服务端,再启动客户端
import socket
#服务器 创建socket对象
server = socket.socket() # 默认是TCP可靠协议
"""
socket.socket(socket.AF_INET, socket.SOCK_STREAM) # TCP协议
socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # udp协议
"""
# 定义服务器的IP地址和端口号
server.bind(('127.0.0.1', 8000)) # 服务器绑定一个地址 双括号表示是一个元组,而不是两个独立的参数
"""
server.bind(('0.0.0.0', 8000))'0.0.0.0' =====> 代表允许任何的ip链接
"""
# 监听连接请求
server.listen(5) # 监听,