From: Adriana Draghici Date: Tue, 19 Jan 2010 13:17:03 +0000 (+0200) Subject: Server - basic send/recv client - server functionality X-Git-Tag: getopt_long~220 X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;h=7b4ed853193cad562745bd80f13873db2bf64ecf;p=cs-p2p-next.git Server - basic send/recv client - server functionality --- diff --git a/server/Client.py b/server/Client.py new file mode 100644 index 0000000..19e497b --- /dev/null +++ b/server/Client.py @@ -0,0 +1,44 @@ +import sys, socket +MSGLEN = 100 + + +class MySocket: + def __init__(self, sock=None): + if sock is None: + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + else: + self.sock = sock + + def connect(self, host, port): + self.sock.connect((host, port)) + print "connected to %s %s"%(host, port) + + def send_msg(self, msg): + totalsent = 0 + while totalsent < len(msg): + sent = self.sock.send(msg[totalsent:]) + if sent == 0: + raise RuntimeError, "socket connection broken" + totalsent = totalsent + sent + + def recv_msg(self): + msg = '' + chunk = self.sock.recv(MSGLEN) + if chunk == '': + raise RuntimeError, "socket connection broken" + msg = msg + chunk + print msg + return msg + + +if __name__ == "__main__": + + s = MySocket() + s.connect("127.0.0.1", 10001) + s.send_msg("hello") + s.recv_msg() + + + + + diff --git a/server/Server.py b/server/Server.py index 6723520..cd28d47 100644 --- a/server/Server.py +++ b/server/Server.py @@ -2,12 +2,20 @@ # TODO: listen, receive on port -import sys, time, os +import sys, os, socket from daemon import Daemon def doServer(): + #os.spawnvp(os.P_NOWAIT,"/usr/bin/transmission",[]) + serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + serversocket.bind(("127.0.0.1", 10001)); + serversocket.listen(10) #max 10 requests + while(1): + (clientsock, address) = serversocket.accept(); + clientsock.recv(100) + clientsock.send("Hello :)") + clientsock.close() - os.spawnvp(os.P_NOWAIT,"/usr/bin/transmission",[]) class MyDaemon(Daemon): def run(self):