tcp客户端创建流程
import socket # 创建套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立和服务器的链接 tcp_socket.connect(("服务器IP", 8888)) # 发送数据 send_content = "发送内容" send_data = send_content.encode("gbk") tcp_socket.send(send_data) # 接收数据 recv_data = tcp_socket.recv(1024) recv_content = recv_data.decode("gbk") print(recv_content) # 关闭套接字 tcp_socket.close()
tcp服务端创建流程
import socket # 创建套接字 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 立即释放端口 tcp_socket,setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True) # 绑定端口 tcp_socket.bind(("",8888)) # 设置客户端最大连接数 tcp_socket.listen(5) # 等待客户端建立连接 client_socket, ip_part = tcp_socket.accept() # 发送数据 send_content = "发送内容" send_data = send_content.encode("gbk") client_socket.send(send_data) # 接收数据 recv_data = client_socket.recv(1024) recv_content = recv_data.decode("gbk") print(recv_content) # 关闭套接字(不和客户端进行收发数据) client_socket.close() # 关闭套接字(不再接受新的客户端与服务器建立连接) tcp_socket.close()
tcp文件下载,本质就是客户端向服务端发送要下载的文件名,服务端收到数据后,读取对应文件
并将读取内容发送给客户端,同时客户端建立对应名字的文件写入接受内容
文件的另一种打开方式:
with open(文件名, 打开方式) as f:
用f操作文件
语句块执行完自动关闭文件