python3 tcp server

Gast #7096722
Lesenswert?

Hallo und guten Morgen,

für Testzwecke habe ich einen TCP Server zusammengestellt.
Dieser zeigt alle Nachrichten an. Nun ist es so das in der
while True Schleife das ganze extrem schnell durchrattert.
Wenn nicht empfangen wird dann erscheint trotzdem b''.
Was könnte ich tun damit nur die empfangen Daten angezeigt werden?
Angehängte Dateien:
Gast #7096791
Lesenswert?

he schrieb:
> Das mit tcpdump - i eth0 tcp funktioniertt ja auch nicht.

tcpdump funktioniert definitiv. (Es sollte übrigens -i sein, nicht - i. 
Und es muss natürlich das richtige Interface angegeben werden. Bei 
127.0.0.1 wäre das normalerweise lo).

Bei dem hier: 
https://www.mikrocontroller.net/attachment/highlight/559996

Fehlt da nicht noch was? Normalerweise hat man doch listen(), um auf 
Verbindungen zu warten, und Accept, um diese anzunehmen, daten liest man 
dann von der Verbindung zum Client.

Und dann noch an die Mods, da scheint ein Bug im Forum zu sein. 
https://www.mikrocontroller.net/attachment/highlight/559996 
(Codeansicht) und 
https://www.mikrocontroller.net/attachment/559996/python_tcp_server.py 
(raw/Download) zeigen nicht den selben Code.
Gast #7096800
Lesenswert?

Ja das mit bind und listen funktioniert bei mir auch nicht.

Entweder es erscheint die Meldung
1
Traceback (most recent call last):
2
  File "tcpServer2.py", line 12, in <module>
3
    sock.listen(5)
4
OSError: [Errno 95] Operation not supported

python script:
1
import socket
2
import sys
3

4
sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
5

6
host = socket.gethostname()
7

8
server_address = (host, 50000)
9
sock.bind(server_address)
10

11
sock.listen(5)
#7097426
Lesenswert?

he schrieb:
> Trotzdem erhalte ich immer noch Nachrichten obwohl ich bewusst nichts
> versendet habe.

Wenn du einen Raw-Socket aufmachst, bekommst du eben die Rohdaten und 
nicht nur deine Nutzdaten.

he schrieb:
> Der TCP Server soll auf dem raspberry pi laufen. Da kann ich nicht
> Windows Wireshark benutzten.

Warum willst du denn auch ausgerechnet die Windows-Version benutzen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren