Python, wie man Daten über TCP sendet

Ich muss einen einfachen Server erstellen, der auf TCP-Verbindungen hört. Wenn es Text on<EOF> oder off<EOF> empfängt, dann sendet es (Echo) zurück success . Der empfangende Teil arbeitet, aber jetzt brauche ich ihn, um den success .

Code:

 # import threading import SocketServer class TCPHandler(SocketServer.BaseRequestHandler): def handle(self): self.msg = self.request.recv(1024).strip() if self.msg == "on<EOF>": print "Turning On..." #ECHO "SUCCESS<EOF>" <----- I need the server to echo back "success" if self.msg == "off<EOF>": print "Turning Off..." #ECHO "SUCCESS<EOF>" <----- I need the server to echo back "success" if __name__ == "__main__": host, port = '192.168.1.100', 1100 # Create server, bind to local host and port server = SocketServer.TCPServer((host,port),TCPHandler) print "server is starting on ", host, port # start server server.serve_forever() 

  • Asyncio persisent Client-Protokoll-Klasse mit Warteschlange
  • So schließen Sie die Socket-Verbindung auf Ctrl-C in einem Python-Programm
  • Python Client Server Transfer .txt nicht in Datei schreiben
  • Wie kann ich MySQL-Datenbank mit Python + SQLAlchemy remote verbinden?
  • Python-Protokollierung für TCP-Server
  • TCP-Client / Server mit Sockets, Server Senden von Dateien an Clients, Client hängt, Python
  • Was ist die tatsächliche Auswirkung des Aufrufs socket.recv mit einem Bufsize, der nicht eine Macht von 2 ist?
  • Injizieren von rohen TCP-Paketen mit Python
  • One Solution collect form web for “Python, wie man Daten über TCP sendet”

    Nun, ich habe es einen Tag vor einem sehr guten Tutorial, kann nicht den Link finden, aber hier ist der Code

    Client.py

     import socket host = socket.gethostname() port = 12345 # The same port as used by the server s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) s.sendall(b'Hello, world') data = s.recv(1024) s.close() print('Received', repr(data)) 

    Für Server

    Echo_server.py

     import socket host = '' # Symbolic name meaning all available interfaces port = 12345 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((host, port)) print host , port s.listen(1) conn, addr = s.accept() print('Connected by', addr) while True: try: data = conn.recv(1024) if not data: break print "Client Says: "+data conn.sendall("Server Says:hi") except socket.error: print "Error Occured." break conn.close() 
    Python ist die beste Programmiersprache der Welt.