Hi,
weiß einer wie ich xmlrpclib mit Strings verwenden kann (bzw. mit Pipes aber Strings genügen mir bekomme ich ja bei den Pipes)
vielen Dank
wdsl
xmlrpclib ohne HTTP verwenden?
Du könntest mit den `dumps` und `loads`-Funktionen selbst etwas basteln. Wenn auf beiden Seiten Python läuft, dann würde ich aber eher das `pickle`-Modul benutzen. Oder wenn es sprachunabhängiger sein soll JSON als Zwischenformat.
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Aua. Wenn er das über das Netzwerk nutzen will ist das eine verdammt schlechte idee.BlackJack hat geschrieben:...würde ich aber eher das `pickle`-Modul benutzen.
TUFKAB – the user formerly known as blackbird
Warum? Ist auf jeden Fall nicht so aufegbläht wie das XML-RPC-XML und kann auch mehr Datentypen serialisieren.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi wdsl!wdsl hat geschrieben:weiß einer wie ich xmlrpclib mit Strings verwenden kann (bzw. mit Pipes aber Strings genügen mir bekomme ich ja bei den Pipes)
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
from SimpleXMLRPCServer import SimpleXMLRPCDispatcher
import xmlrpclib
class MyMethods(object):
def get_hallo(self, name):
return u"Hallo %s" % name
def main():
# Dispatcher vorbereiten und Instanz mit Methoden an Dispatcher binden
dispatcher = SimpleXMLRPCDispatcher()
dispatcher.register_instance(MyMethods())
for i in range(3): # nur zum Testen :-)
# XML-Anfrage erstellen und vom Dispatcher beantworten lassen
xmlcall = xmlrpclib.dumps(("Gerold",), "get_hallo")
xmlretval = dispatcher._marshaled_dispatch(xmlcall)
# XML-Rückgabe parsen und Rückgabe ausgeben
print xmlrpclib.loads(xmlretval)[0][0]
if __name__ == "__main__":
main()
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Was spricht gegen Protokoll 0 oder Protokoll 2.encode("base64")?blackbird hat geschrieben:Aua. Wenn er das über das Netzwerk nutzen will ist das eine verdammt schlechte idee.BlackJack hat geschrieben:...würde ich aber eher das `pickle`-Modul benutzen.
Was spricht gegen Protokoll 2 ohne Base64-Kodierung? Können Pipes nur ASCII übertragen? Sitzt da ein kleines Monster das die die höchstwertigen Bits frisst!?
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Ich meinte eher der Sicherheit wegen. Pickle ist jetzt nicht so das hammer sichere Protokollbirkenfeld hat geschrieben:Was spricht gegen Protokoll 0 oder Protokoll 2.encode("base64")?
TUFKAB – the user formerly known as blackbird