一、服务端
# 这里我创建了一个函数
def socket_service_image():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# setsockopt()函数的第一个参数是套接字的级别,
# 这里我们使用socket.SOL_SOCKET表示我们要设置的选项是通用的套接字选项。
# 第二个参数是选项本身,这里我们使用socket.SO_REUSEADDR表示我们要设置的选项是允许地址重用。
# 第三个参数是选项的值,这里的1表示开启该选项。
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('localhost', 6666))
s.listen(10)
# 当socket操作发生错误时,它会捕获 socket.error 异常,并打印错误信息,然后使用 sys.exit(1) 终止程序。
except socket.error as msg:
print(msg)
sys.exit(1)
print('Wait for Connection..................')
# 进入死循环
while True:
# s.accept() 是 Python 中 socket 对象的一个方法,用于接受客户端的连接,并返回一个新的套接字对象以及客户端的地址。
sock, addr = s.accept() # addr是一个元祖(ip,part)
deal_image(sock, addr)
d