2017-08-11 3 views
1

i mit dem Client mit dem Server verbinden, wenn ich eingeben help i Attribute erhalten: ‚_helper‘ Objekt hat kein Attribut ‚kodieren‘Attribute: ‚_helper‘ Objekt hat kein Attribut ‚kodieren‘

das ist die volle Leistung

-:-:-:-:-:Server:-:-:-:-:- 
Connection from: ('127.0.0.1', 58675) 
Your Instruction: help 
Traceback (most recent call last): 
    File "serverback.py", line 36, in <module> 
    msg = msg.encode("UTF-8") 
AttributeError: '_Helper' object has no attribute 'encode' 

das ist mein python-Skript

#imports 
import socket 
import os 
import sys 
#Variables 
port = int(sys.argv[1]) 

#Functions 

def clear(): 
    os.system('cls' if os.name=='nt' else 'clear') 

#Starting Server 
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
host = socket.gethostname() 
serversocket.bind((host, port)) 
serversocket.listen(1) 

clear() 
print("-:-:-:-:-:Py Server:-:-:-:-:-") 
clientsocket, addr = serversocket.accept() 
print("Connection from: " + str(addr)) 
while True: 
    msg = input("Your Instruction: ") 

    if msg == "help": 
     clear() 
     print("-+-+-+-+-+HELP+-+-+-+-+-") 
     print("Test Connection: 'test'") 

     input("\nPress ENTER to continue") 
     clear() 
     print("-:-:-:-:-:Py Server:-:-:-:-:-") 

    else: 
     msg = msg.encode("UTF-8") 
     clientsocket.send(msg) 
     msg = clientsocket.recv(4096) 
     print(msg.decode("UTF-8")) 

Antwort

1

Ist msg aus irgendeinem Grund nicht definiert? In Python3 + -Eingabe sollte immer eine Zeichenfolge zurückgeben, aber aus irgendeinem Grund scheint Ihre msg Variable ist keine Zeichenkette, wenn die Else-Bedingung getroffen wird. Sie könnten msg explizit in eine Zeichenfolge umwandeln.

else: 
    msg = str(msg).encode("UTF-8") 
    clientsocket.send(msg) 
    msg = clientsocket.recv(4096) 
    print(msg.decode("UTF-8")) 
+1

danke mann ich hoffe, du bekommst all das glück, das du verdienst –

+0

danke ich schätze das. –

Verwandte Themen