Das deutsche Python-Forum

10 Jahre Diskussionen rund um die Programmiersprache Python
Aktuelle Zeit: Freitag 31. Oktober 2014, 18:35

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 55 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: Kommunizieren
BeitragVerfasst: Freitag 12. März 2010, 21:14 
User

Registriert: Sonntag 15. November 2009, 08:46
Beiträge: 49
Hallo,

Kann man mit Python mit ein anderes Python Programm auf einen anderen PC kommunizieren. Allerdings weiß ich nicht wonach ich suchen soll.
Am besten auch noch ein Tutorial.

Danke schonmal im Vorraus.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Freitag 12. März 2010, 22:44 
User
Benutzeravatar

Registriert: Montag 19. Januar 2009, 09:37
Beiträge: 1178
Hier ein paar Möglichkeiten:

- xmlrpc (in der stdlib)
Anleitung gibt es hier: http://openbook.galileocomputing.de/pyt ... 20_007.htm
(Normalerweise ist das openbook nichts, aber dieses Kapitel macht eigentlich einen ganz guten Eindruck)

- Pyro http://pyro.sourceforge.net/
Sehr einfach zu bedienen, kann ich nur empfehlen! Mein Favorit.

- dann gibt es noch mächtige Komponenten wie SOAP oder CORBA, aber für simple Anwendungen ist das dann mit Kanonen auf Spatzen...

- dann gibt es natürlich auch noch Sockets, aber ich würde auf eines der ersten beiden setzen


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 09:03 
User

Registriert: Sonntag 15. November 2009, 08:46
Beiträge: 49
Hallo,

Danke ich habe mich für das erste entschieden.
So jetzt habe ich mal ein Beispiel davon genommen kappiert und jetzt kommt ein Fehler

  1. import socket
  2.  
  3. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  4. s.bind(("", 50000))
  5. s.listen(1)
  6.  
  7. try:
  8.     while True:
  9.         komm, addr = s.accept()
  10.         while True:
  11.             data = komm.recv(1024)
  12.  
  13.             if not data:
  14.                 komm.close()
  15.                 break
  16.  
  17.             print "[%s] %s" % (addr[0], data)
  18.             nachricht = raw_input("Antwort: ")
  19.             komm.send(nachricht)
  20. finally:
  21.     s.close()
  22.  
Highlighting by GeSHi


Fehler:
Zitat:
Traceback (most recent call last):
File "C:\Users\cheffe\server\server.py", line 4, in <module>
s.bind(("", 50000))
File "<string>", line 1, in bind
socket.error: [Errno 10048] Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden


Ich hab zwar den Fehler verstanden allerdings verwende ich es nicht doppelt.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 11:20 
User

Registriert: Donnerstag 20. Juli 2006, 23:06
Beiträge: 4502
Wohnort: Berlin
Hallo.

Startetst du das Programm zweimal auf dem selben PC, dann sagt die Fehlermeldung eigentlich alles. Und warum ist die Meldung auf deutsch, was für eine Python-Version verwendest du?

Es fehlt dir übrigens der Client (oder du hast ihn nur nicht gepostet). Wenn du auf beiden PCs dieses Programm startest, dann warten beide auf eine einkommende Verbindung.

Sebastian

_________________
Das Leben ist wie ein Tennisball.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 12:34 
User

Registriert: Sonntag 15. November 2009, 08:46
Beiträge: 49
Danke,

Aber ich hatte es selber noch hin bekommen ich hatte ein Programm anlaufen was denn Port benutzte.
Jetzt habe ich aber ein anderes Problem der Server soll nicht abstürzen wenn sich ein Partner ausloggt.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 13:18 
User
Benutzeravatar

Registriert: Montag 19. Januar 2009, 09:37
Beiträge: 1178
coolerj hat geschrieben:
Danke,

Aber ich hatte es selber noch hin bekommen ich hatte ein Programm anlaufen was denn Port benutzte.
Jetzt habe ich aber ein anderes Problem der Server soll nicht abstürzen wenn sich ein Partner ausloggt.


Hier noch mal die Empfehlung *keine* Sockets einzusetzen. Das war nicht mein erster Vorschlag. Mein erster Vorschlag war XML-RPC. Du musst bei dem Link eventuell noch das entsprechende Kapitel öffnen.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 20:08 
User

Registriert: Sonntag 15. November 2009, 08:46
Beiträge: 49
Gehts denn trotzdem mit socket?


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 21:00 
User

Registriert: Donnerstag 20. Juli 2006, 23:06
Beiträge: 4502
Wohnort: Berlin
Natürlich kann man das, aber es ist furchtbar umständlich und fehleranfällig.

_________________
Das Leben ist wie ein Tennisball.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 21:27 
User

Registriert: Sonntag 15. November 2009, 08:46
Beiträge: 49
Das will ich ja.
Andere Frage wie kann ich ein bestimmten Fehler Code ignorieren und stattdessen was anderes machen.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 22:22 
User

Registriert: Donnerstag 20. Juli 2006, 23:06
Beiträge: 4502
Wohnort: Berlin
coolerj hat geschrieben:
Das will ich ja.

Das ist zwar nicht nachvollziehbar, aber wenn du dir das antun möchtest.

coolerj hat geschrieben:
Andere Frage wie kann ich ein bestimmten Fehler Code ignorieren und stattdessen was anderes machen.

Das steht ganz oben in der Dokumentation zum [mod]socket[/mod]-Modul.

_________________
Das Leben ist wie ein Tennisball.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 22:33 
User

Registriert: Sonntag 15. November 2009, 08:46
Beiträge: 49
socket.error kapier ich nicht.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Samstag 13. März 2010, 23:07 
Moderator

Registriert: Dienstag 25. Januar 2005, 23:29
Beiträge: 23943
@coolerj: Was kapierst Du denn nicht? Das ist eine Ausnahme. Die kann man behandeln, wie jede andere Ausnahme auch.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Sonntag 14. März 2010, 12:24 
User

Registriert: Sonntag 15. November 2009, 08:46
Beiträge: 49
Also wie ich das verwende.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Sonntag 14. März 2010, 12:32 
User

Registriert: Donnerstag 20. Juli 2006, 23:06
Beiträge: 4502
Wohnort: Berlin
coolerj hat geschrieben:
Also wie ich das verwende.

Na so wie es in der Dokumentation steht. Du musst schon genauer sagen, was du daran genau nicht verstehst.

_________________
Das Leben ist wie ein Tennisball.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Sonntag 14. März 2010, 12:38 
User

Registriert: Sonntag 15. November 2009, 08:46
Beiträge: 49
was in der Klammer muss kann mir nicht mal einer ein Beispiel schreiben


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 55 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de