Python 套接字-判断socket服务端有没有关闭的方法实例演示,查看socket运行状态

通过 getattr(socket, '_closed') 的返回值可以判断服务端的运行状态。
True 是关闭状态,False 是运行中。

实例代码展示:

import socket

ip = 'localhost'
port = 5003

ws = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ws.bind((ip, port))
ws.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
ws.listen()

# 关闭服务
# ws.close()

print("服务端状态如下:")
if(getattr(ws, '_closed') == False):
	print("当前socket服务端正在运行中")
elif(getattr(ws, '_closed') == True):
	print("当前socket服务端已经关闭了")

两种情况运行效果图展示:

在这里插入图片描述
在这里插入图片描述
喜欢的点个赞❤吧!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中的socket模块可以用于实现Socket,下面是一个简单的例子,演示了如何在Python中使用Socket进行网络通信: 服务代码: ```python import socket # 创建一个TCP/IP套 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定本地地址和口 server_address = ('localhost', 8888) server_socket.bind(server_address) # 监听客户的连 server_socket.listen(1) while True: # 等待客户 print('等待客户...') client_socket, client_address = server_socket.accept() print('客户已连:', client_address) # 收客户发送的数据 data = client_socket.recv(1024) print('收到的数据为:', data.decode()) # 发送响应数据给客户 message = 'Hello, client!' client_socket.send(message.encode()) # 关闭 client_socket.close() ``` 客户代码: ```python import socket # 创建一个TCP/IP套 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连服务 server_address = ('localhost', 8888) client_socket.connect(server_address) # 发送数据给服务 message = 'Hello, server!' client_socket.send(message.encode()) # 服务的响应数据 data = client_socket.recv(1024) print('收到的数据为:', data.decode()) # 关闭 client_socket.close() ``` 在上面的例子中,服务和客户都是通过`socket.socket()`创建一个套,`socket.bind()`方法绑定地址和口,`socket.listen()`方法监听客户的连,`socket.accept()`方法受客户的连,`socket.recv()`方法收客户发送的数据,`socket.send()`方法发送响应数据给客户,`socket.close()`方法关闭

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挣扎的蓝藻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值