Python 如何发送非';带套接字的t字符串?例如,使用客户端截图并将其发送到服务器

Python 如何发送非';带套接字的t字符串?例如,使用客户端截图并将其发送到服务器,python,sockets,networking,Python,Sockets,Networking,我的客户是其中的一部分 agreement_ac = s.recv(4096) b = bytes("take a screenshot".encode()) if b in agreement_ac: image = ImageGrab.grab() 我的服务器部分: while True: c, addr = s.accept() cmd_test = input(">>> ") if cmd_test ==

我的客户是其中的一部分

    agreement_ac = s.recv(4096)
    b = bytes("take a screenshot".encode())
    if b in agreement_ac:
        image = ImageGrab.grab()
我的服务器部分:

while True:
    c, addr = s.accept()
    cmd_test = input(">>> ")
    if cmd_test == "test":
        c.send("take a screenshot".encode())
因此,目前我的应用程序正在做的是,当我启动服务器和客户端连接时,如果我输入“截图”,那么该字符串将被发送到客户端,客户端将对其进行解码以了解它应该做什么,然后它将截图并发送过来。我不明白如何将它发送到服务器并保存到服务器的设备上。例如,客户端获取屏幕截图并将其发送到服务器,服务器将其保存在服务器的桌面上。

服务器代码:

import socket               
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)         
print ("Socket successfully created")
port = 12345               
s.bind(('', port))        
print ("socket binded to %s" %(port))
s.listen(5)     
print ("socket is listening")

while True:
    c, addr = s.accept()
    cmd_test = input(">>> ")
    if cmd_test == "test":
        c.send("take a screenshot".encode())
    temp = c.recv(9000000)
    with open('imgs.png','wb') as f:

        #print(temp)
        f.write(temp)

    c.close()
客户端代码:

import socket
import pyscreenshot as ImageGrab
b="take a screenshot"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)         
port = 12345               
s.connect(('127.0.0.1', port))
#s.sendall(str.encode(b))



agreement_ac = str(s.recv(9000000))
#print(agreement_ac)
if b in agreement_ac:
        image = ImageGrab.grab()
        ImageGrab.grab_to_file('im.png')
        with open('im.png','rb') as f:
            imgsend = f.read()
        s.sendall(imgsend)

#print(image)
s.close()
它会将文件保存在服务器pc上为“imgs.png”。请根据需要更改字节大小。
工作时接受:)