IP-Adresse des Clients beim SimpleXMLRPCServer

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
ChrisHC
User
Beiträge: 1
Registriert: Dienstag 19. Februar 2008, 23:35

IP-Adresse des Clients beim SimpleXMLRPCServer

Beitragvon ChrisHC » Mittwoch 20. Februar 2008, 00:08

Hallo!

Habe schon einige Zeit mit Python geliebäugelt und mich nun endlich an eine
erste Anwendung herangewagt und bin auch schon auf die ersten Probleme gestossen :)

Ich bin gerade dabei mittels dem SimpleXMLRPCServer (nach dem Beispiel von gerold, http://www.python-forum.de/topic-5478.html )
eine Server-Client Anwendung zu basteln.

Dabei soll es den Clients möglich sein Daten an den Server zu senden die dieser dann unter den anderen Clients verteilt.

Dazu soll sich der Client beim Server anmelden und seine IP-Adresse hinterlassen.

Nur wie komme ich an die IP-Adresse von über SimpleXMLRPCServer verbundenen Clients?

Hab zwar bereits ge-googelt und einiges gefunden, jedoch nichts womit ich etwas anfangen konnte.

Was ich versucht habe:
http://www.velocityreviews.com/forums/t353697-obtain-client-ip-address-from-simplexmlrpcserver-.html

Dort steht:
The other solution I noticed was that SimpleXMLRPCServer's (which
ultimately subclasses BaseServer) handle_request method invokes
get_request (which merely calls self.socket.accept() -- which returns a
tuple including the ip address). By re-implementing get_request() as
such:

Code: Alles auswählen

def get_request(self):
req = self.socket.accept()
ip_address = req[1][0]
return req


Den Code den ich mir so abgeleitet habe:

Code: Alles auswählen

import SimpleXMLRPCServer

class MyXMLRPCServer(SimpleXMLRPCServer.SimpleXMLRPCServer):

   def get_request(self):
      req = self.socket.accept()
      ip_address = req[1][0]
      return req


serv_instance = MyXMLRPCServer()
server = serv_instance(('localhost',50505))
server.register_instance()
server.serve_forever()


Da ich absoluter Anfänger bin komme ich im moment kein Stück weiter...
Wäre nett wenn mir jemand auf die Sprünge helfen könnte, danke!

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder