下面我来为你详细讲解“python3利用Socket实现通信的方法示例”的完整攻略。
什么是Socket?
Socket,又称套接字,是计算机网络中两个程序间的通信机制。它定义了连接的概念,即通信的两个端点之间的一种通用的数据传输方式。
Socket有两种类型,分别为TCP和UDP。TCP(Transmission Control Protocol)是一种面向连接的协议,即在通信中两个应用程序必须先建立一条可靠的连接才能进行数据传输,保证数据传输的完整性和可靠性;而UDP(User Datagram Protocol)是一种无连接的协议,即发送数据前不需要先建立连接,数据包也不具有可靠性和序列号,只关心是否发送成功。
Python3利用Socket实现通信的方法示例
1. TCP通信示例
服务器端代码
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建TCP Socket
ip_port = ('localhost', 8888) # 设置IP和端口号
server.bind(ip_port) # Socket绑定IP和端口号
server.listen(5) # 开始监听,最大等待数为5
while True:
conn, addr = server.accept() # 接收客户端连接请求
print(f'Connected from {addr}') # 打印客户端的IP地址和端口号
conn.send(b'Welcome!') # 向客户端发送欢迎信息
conn.close() # 关闭连接
客户端代码
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建TCP Socket
ip_port = ('localhost', 8888) # 设置服务器IP和端口号
client.connect(ip_port) # 发起连接请求
data = client.recv(1024) # 接收数据,缓冲区大小为1024字节
print(f'{data.decode()} from {ip_port}') # 打印接收到的数据以及服务器的IP地址和端口号
client.close() # 关闭连接
2. UDP通信示例
服务器端代码
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建UDP Socket
ip_port = ('localhost', 9999) # 设置IP和端口号
server.bind(ip_port) # Socket绑定IP和端口号
while True:
data, addr = server.recvfrom(1024) # 接收客户端发送的数据以及客户端的IP地址和端口号
print(f"Received from {addr}: {data.decode()}") # 打印接收到的数据以及客户端的IP地址和端口号
server.sendto(b'Welcome!', addr) # 向客户端发送欢迎信息
客户端代码
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建UDP Socket
ip_port = ('localhost', 9999) # 设置服务器IP和端口号
client.sendto(b'Hello, World!', ip_port) # 向服务器发送数据
data, addr = client.recvfrom(1024) # 接收服务器发送的数据以及服务器的IP地址和端口号
print(f'{data.decode()} from {addr}') # 打印接收到的数据以及服务器的IP地址和端口号
client.close() # 关闭连接
以上就是Python3利用Socket实现通信的方法示例。在实际开发中,我们可以根据需求和场景灵活选择TCP或UDP通信。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3利用Socket实现通信的方法示例 - Python技术站