import socket
from _socket import getdefaulttimeout
class MySocket(socket.socket):
Socket网络编程、"""重写服务器端socket"""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# self.level 标志socket类型 0:普通服务器socket;1:accept得到的socket
python socket编程。self.level = 0 # 普通socket
def close(self):
super().close()
if self.level:
python高级网络编程。print("关闭服务器端accept得到的socket时要做的工作")
else:
print("关闭服务器普通socket时要做的工作")
def __del__(self):
python3网络编程,super().__del__()
if self.level:
print("删除服务器端accept得到的socket时要做的工作")
else:
Python socket?print("删除服务器普通socket时要做的工作")
def accept(self):
"""重写accept使其得到自己实现的socket"""
fd, addr = self._accept()
Python 异步?type = self.type & ~globals().get("SOCK_NONBLOCK", 0)
# 指向自己的socket类
sock = MySocket(self.family, type, self.proto, fileno=fd)
# self.level 标志socket类型 0:普通服务器socket;1:accept得到的socket
python网络编程第三版,sock.level = 1
if getdefaulttimeout() is None and self.gettimeout():
sock.setblocking(True)
return sock, addr
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态