我正在尝试使用python制作反向外壳。当我尝试从服务器向客户端发送命令时,出现以下错误:
文件“ client.py”第16行,在output_str = str UnicodeDecoderError;'utf-8'编解码器无法解码位置53的字节0 * 82:无效的起始字节
server.py:
class CoffeeMachine {
#waterLimit = 200;
#checkWater = value => {
if (value < 0) throw new Error("Negative water");
if (value > this.#waterLimit) throw new Error("Too much water");
}
}
client.py:
import socket
import sys
def create_socket():
try:
global host
global port
global s
host=""
port=9999
s = socket.socket()
except socket.error as msg:
print("socket creation error" +str(msg))
def bind_socket():
try:
global host
global port
global s
print("binding the port" + str(port))
s.bind((host,port))
s.listen(5)
except socket.error as msg:
print("socket binding error"+str(msg)+"\n" + "Retrying ....")
bind_socket()
def send_commands(conn):
while True:
cmd = input()
if cmd == 'quit':
conn.close()
s.close()
sys.exit()
if len(str.encode(cmd)) > 0 :
conn.send(str.encode(cmd))
client_response = str(conn.recv(1024),"utf-8")
print(client_response, end="")
def socket_accept():
conn,address = s.accept()
print("connection has been established" + "ip"+address[0]+"port" +str(address[1]))
send_commands(conn)
conn.close()
def main():
create_socket()
bind_socket()
socket_accept()
main()