TCP服务端开发
socket类的介绍
- 导入socket模块:
import socket
- 创建客户端socket对象,使用socket类:
socket.socket(AddressFamily, Type)
AddressFamily
: IP地址类型,分为IPv4和IPv6
Type
: 传输协议类型
开发客户端使用到的函数
bind
: 绑定IP地址和端口号
listen
: 设置监听
accept
: 等待接受客户端的连接请求
send
: 发送数据
recv
: 接收数据
示例
import socket
if __name__ == '__main__':
# 1. 创建服务端套接字对象
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置端口复用
tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
# 2. 绑定IP地址和端口
tcp_server_socket.bind(("127.0.0.1", 8080))
# 3. 设置监听 128代表服务端等待排队连接的最大数量
tcp_server_socket.listen(128)
# 4. 等待客户端的连接请求 阻塞等待 返回一个用以和客户端通信的socket, 客户端地址
conn_socket, ip_port = tcp_server_socket.accept()
print(f'客户端地址:{ip_port}')
# 5. 接收数据
recv_data = conn_socket.recv(1024)
print(f'接收到的数据:{recv_data.decode()}')
# 6. 发送数据
conn_socket.send('客户端你的数据我收到了'.encode())
# 7. 关闭套接字
conn_socket.close()
tcp_server_socket.close()