流式套接字当你需要使用 TCP 协议进行通信时需要创建流式套接字。这是套接字编程中最常用的一种。光谈这些概念显得很抽象还是举送外卖的这个例子假设你点了一份烤鸭外卖骑手需要先去店铺取餐然后送到你的家门口那么商家就是服务端你的家门口是客户端那份烤鸭是你需要接受的数据。一开始商家不知道你的住所在哪但你知道商家的地址你点餐这个操作就相当于和商家建立连接当你成功下单之后商家才知道了你的住所就会派骑手去为你送餐了此时你需要做的只有等待外卖骑手送餐了。在计算机通信中服务端开启后要做的就是等待客户端连接、接受客户端发送过来的消息和响应客户端请求。接下来该思考用 Python 代码如何来模拟这个场景了我们先来实现服务端假设客户端下单后等待时间为 10 秒与客户端交互的操作就用 socket 提供的各种函数实现但还要注意在与客户端交互的过程中有可能会出现 IO 异常的情况别忘了进行异常处理还要注意在使用完 socket 之后一定要记得关闭 socket让系统释放资源这是很重要的编码习惯。服务端代码实现import time from socket import * serverSocketsocket(AF_INET,SOCK_STREAM) #创建套接字对象 serverSocket.bind((127.0.0.1,6666)) #绑定IP和端口必须是元组形势 serverSocket.listen(1) #设置连接池挂起的数量 try: connectionSocket,addrserverSocket.accept() #接受客户端连接connectionSocket是客户端连接服务器的信号addr是客户端地址 print(收到addr[0]:str(addr[1])的订单) time.sleep(10) #让线程等待10秒 connectionSocket.send(bytes(您的订单已送达,encodingutf-8)) #向客户端发送消息 connectionSocket.close() #断开连接 except IOError: connectionSocket.close() serverSocket.close() #关闭套接字对象下篇文章与大家分享实现客户端代码当客户端接受到服务端的消息时输出到控制台。敬请期待~