效果:
- import socket
- def main():
- while True:
- # 创建监听套接字
- tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- # 绑定 IP 和 Port
- tcp_server_socket.bind(('', 7788))
- # 设置为被动监听
- tcp_server_socket.listen(128)
- # 等待客户端连接
- print("等待客户端连接中......")
- client_socket, client_adress = tcp_server_socket.accept()
- print("已连接客户端:%s" % str(client_adress))
- # 再加一个循环, 当客户端发出特殊指令时, 再结束该客户端的连接
- while True:
- # 接收数据
- recv_data = client_socket.recv(1024)
- print(recv_data.decode('gbk'))
- # 当客户端发送的数据有内容时, 回送消息给客户端
- if recv_data:
- client_socket.send('已接收并处理'.encode('gbk'))
- # 当客户端关闭连接时 (回送消息无数据), 退出循环并关闭客户端套接字
- else:
- print("%s 客户端终止了连接" % str(client_adress))
- break
- # 关闭套接字
- client_socket.close()
- tcp_server_socket.close()
- if __name__ == '__main__':
- main()
来源: http://www.bubuko.com/infodetail-3496103.html