Hallo,
Wie kann ich alle Socket Errors/Fehler ignorieren?
MfG
Alle Socket Fehler ignorieren
Ausnahmebehandlung. Das sollte jedes gute Python-Buch eigentlich abdecken.
Ausserdem wurde das hier an anderer Stelle schon einmal gezeigt.
Ausserdem wurde das hier an anderer Stelle schon einmal gezeigt.
ja aber es geht jetzt bei meinen neuen Code nicht.
Aber trotzdem Danke
Eroro:
Aber trotzdem Danke
Code: Alles auswählen
# -*- encoding: utf-8 -*-
from socket import *
import sys
# Der Standard-Echo-Port ist nicht sehr nützlich, da er root
# Rechte erfordert. Wir nehmen den Port 50000
ECHO_PORT = 50000
BUFSIZE = 1024
def main():
# TCP-Socket erstellen und an Port binden
s = socket(AF_INET, SOCK_STREAM)
s.bind(('', ECHO_PORT))
s.listen(1)
print "Server gestartet"
# Warte auf eine Verbindung zum Server
conn, (remotehost, remoteport) = s.accept()
print 'Verbunden mit %s:%s' % (remotehost, remoteport)
try:
# Empfange daten vom Client
data = conn.recv(BUFSIZE)
print "Echo: %s" % (data)
except socket.error as error:
print error
raise
# Socket schließen
s.close()
if __name__ == '__main__':
main()
File "C:\Users\cheffe\server\server_2.py", line 28
except socket.error as error:
^
IndentationError: unindent does not match any outer indentation level
Vermutlich spaces und tabs gemischt...
(Verwende einen Editor, der Whitespace darstellt, dann kannst es problemlos verheinheitlichen)
(Verwende einen Editor, der Whitespace darstellt, dann kannst es problemlos verheinheitlichen)
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
Welchen Editor zum Beispiel?
So habe gelöst jetzt kommt aber
So habe gelöst jetzt kommt aber
File "C:\Users\cheffe\server\server_2.py", line 35, in <module>
main()
File "C:\Users\cheffe\server\server_2.py", line 27, in main
except socket.error as error:
AttributeError: type object '_socketobject' has no attribute 'error'
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ein gutes Beispiel, dass man Sternchen-Importe vermeiden sollte.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
@coolerj: Entweder alles einzeln importieren, oder nur das Modul und dann alles über den Modulnamen ansprechen, oder wenn Sternchenimport, dann eben *nicht* versuchen es über den Modulnamen zu machen. Mach Dir den Fehler den Du da bekommst mal klar. Was ist bei Dir an den Namen `socket` gebunden und was bedeutet dann `socket.error`!? Und was müsste gelten, damit dass das bedeutet was Du eigentlich haben wolltest!?
Edit: Was Du alles importieren musst, hängt davon ab was Du alles verwenden willst. Um ein Objekt anzusprechen muss es halt einen Namen haben, bzw. musst Du halt irgendwie dran kommen können.
Edit: Was Du alles importieren musst, hängt davon ab was Du alles verwenden willst. Um ein Objekt anzusprechen muss es halt einen Namen haben, bzw. musst Du halt irgendwie dran kommen können.
Überleg doch mal:
Du schreibst
Was bedeutet das denn? Und was ist dann deiner Meinung nach das 'socket' aus Zeile 28? Das Modul, oder ein Objekt aus dem Modul?
Du schreibst
Code: Alles auswählen
from socket import *