[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[pygame] Example: Simple client and server
- To: pygame-users@xxxxxxxx
- Subject: [pygame] Example: Simple client and server
- From: "Juan José Alonso." <kernel.no.found@xxxxxxxxx>
- Date: Wed, 3 Oct 2007 04:36:24 +0200
- Delivered-to: archiver@xxxxxxxx
- Delivered-to: pygame-users-outgoing@xxxxxxxx
- Delivered-to: pygame-users@xxxxxxxx
- Delivery-date: Tue, 02 Oct 2007 22:36:33 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=RXh1mirUhnRmzRqJPW6uoAQxmzqP/RxrTfWjcnHup+U=; b=jz0OFlgpoEq7O7wdtIjhiqyeElwm6hRL6KbwoNqE6csS80ZTB7gs44L41FtMiqTpC6nIHWkH+CHr4xLUJlI9wNfsdOtR+SKaki7bX+U5e2ffhR/h1BhTgVv76uxX9L5VkFgT04KbhXO4H4vp/mW9geCVQtipVGQkSSGRn4ACNb8=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type; b=Cv961hLLL3kbZSUWEUTTR5AHcGD/VBZG6VfZDTwbi4goeHCTsBJQBzIFU2cSl9jeupf38ByMgTyh5SHqgu9HD0DE8qfqOK/B0gEmeolWcppeI3hBGd8a15pK5N2vZYNcDfnJWD2+OYzj1AUSPPbeJdMq9HosY3QxXmnAB7AWTcA=
- Reply-to: pygame-users@xxxxxxxx
- Sender: owner-pygame-users@xxxxxxxx
----- server.py ------
from SimpleXMLRPCServer import SimpleXMLRPCServer
class TinyServer:
def __init__(self):
self._interface = None
self._xmlrpc_server = SimpleXMLRPCServer(("localhost", 8000))
self._xmlrpc_server.register_introspection_functions()
def set_interface(self, interface):
self._interface = interface
self._xmlrpc_server.register_instance(interface)
def get_interface(self):
return self._interface
def start(self):
self._xmlrpc_server.serve_forever()
if __name__ == "__main__":
import random
random.seed()
class MyLogic:
def attack(self, dmg):
return "Attacking: %s damage (%s)" % (str(random.randrange(dmg[0], dmg[1]+1)), str(dmg[0])+"d"+str(dmg[1]))
server = TinyServer()
server.set_interface
(MyLogic())
server.start()
----- client.py ------
from xmlrpclib import ServerProxy
import time
s = ServerProxy("http://localhost:8000
")
# Print list of available methods
while 1:
print s.attack((1,5))
time.sleep(3)
---- usage ----
C:\Documents and Settings\Administrador\Escritorio>server.py
(Open other shell and launch client....)
C:\Documents and Settings\Administrador\Escritorio>client.py
Attacking: 2 damage (1d5)
Attacking: 3 damage (1d5)
Attacking: 3 damage (1d5)
....
....
(loop)
Thanks all.
--
Juan José Alonso. KarlsBerg.
eMail: kernel.no.found@xxxxxxxxx
MSN:
kernel.no.found@xxxxxxxxx