I need to create a simple server that listens for TCP connections.
If it receives text on<EOF>
or off<EOF>
then it sends (echo) back success
. The receiving part is working, but now i need it to send back 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()
Well i did it a day before following a very good tutorial, cant find the link but here is the code
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))
For server
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()