首页 > 解决方案 > python socket [WinError 10038] 尝试对不是套接字的东西进行操作

问题描述

我正在用套接字编写一个小的远程控制键盘记录器...(客户端)每次执行 send_pictures_data(self,s_socket) 时我在跳回我的主循环时收到此错误...文件传输工作正常但我不知道为什么功能后套接字损坏。非常感谢任何提示。:)

    def send_pictures_data(self,s_socket):
        global i
        print("pictures")
        shutil.make_archive('pic'+str(i), 'zip', './screenshots/')
        #f = open('pic.zip','rb')
        #l = f.read(1024)
        #while (l):
           #s_socket.send(l)
           #print('Sent ',repr(l))
           #l = f.read(1024)
        #f.close()
        #s_socket.close()
        file_name = 'pic'+str(i)+'.zip'
        with s_socket,open(file_name,'rb') as f:
            

标签: pythonsockets

解决方案


你有with s_socketsend_pictures_data. with 的作用是在代码块退出时自动关闭其所有元素。因此,当with块结束时,套接字将被关闭。解决方案:s_socketwith语句中删除。


推荐阅读