Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   UDP Kommunikation Direktverbindung (https://www.delphipraxis.net/208607-udp-kommunikation-direktverbindung.html)

fillibuster 25. Aug 2021 12:43

UDP Kommunikation Direktverbindung
 
Hallo,

habe ein kleines (Verständnis)Problem. Ich baue eine UDP Serveranwendung. Im Netzwerk mit Router kann ich mit dem Server kommunizieren - alles super. Aber jetzt will ich die Anwendung mit einer Direktverbindung zwischen zwei Rechnern nutzen - da kommt beim Server nix mehr an. Getestet habe ich das jetzt mit C# und Python. Die Rechner sind wie folgt konfiguriert:

PC 1 Server:
IP: 192.168.2.1
Sub: 255.255.255.0

PC 2 Client:
IP: 192.168.2.2
Sub: 255.255.255.0

Die Firewall ist bei beiden PC's deaktiviert. Anpingen kann ich die Rechner vom jeweils anderen Rechner. Beide habe GBit Ports. Das Python Script sieht so aus:

Code:
import socket

UDP_IP_ADDRESS = "0.0.0.0"
UDP_PORT_NO = 27000

serverSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
serverSock.bind((UDP_IP_ADDRESS, UDP_PORT_NO))

while True:
    data, addr = serverSock.recvfrom(1024)
    print("Message: ", data)
Testen mache ich mit PacketSender. Kann es daran liegen, dass ich kein Cross Patch Kabel nutze?

Klaus01 25. Aug 2021 13:51

AW: UDP Kommunikation Direktverbindung
 
ja, kann darin liegen, packe eine kleinen (non-managed)Switch dazwischen dann sollte es funktionieren.

mhm, lese gerade das pingen funktionert, dann sollte es meines erachtens kein Problem mit dem Kabel geben.

Grüße
Klaus

generic 25. Aug 2021 14:12

AW: UDP Kommunikation Direktverbindung
 
Setz mal UDP_IP_ADDRESS auf "".

https://docs.python.org/3/library/socket.html
HOST = '' # Symbolic name meaning all available interfaces

fillibuster 25. Aug 2021 15:20

AW: UDP Kommunikation Direktverbindung
 
Zitat:

Zitat von generic (Beitrag 1493897)
Setz mal UDP_IP_ADDRESS auf "".

https://docs.python.org/3/library/socket.html
HOST = '' # Symbolic name meaning all available interfaces

Klappt leider nicht :-(

Klaus01 25. Aug 2021 15:27

AW: UDP Kommunikation Direktverbindung
 
.. kannst Du mit netstat oder nmap verifizieren ob der Serverport offen ist?
Hast Du einen Netzwerksniffer (wireshark, tcpdump o.ä) auf einem der Geräte, was wird dort angezeigt?

Grüße
Klaus

fillibuster 25. Aug 2021 15:40

AW: UDP Kommunikation Direktverbindung
 
Hi,

danke für euren Input :) . cPorts sagt, dass der Port geöffnet ist. netstat sagt:
Code:
UDP-Statistik für IPv4

  Empfangene Datagramme = 12039
  Keine Anschlüsse     = 269
  Empfangsfehler       = 995
  Gesendete Datagramme = 14987
Und Wireshark empfängt anscheinend was:
Code:
461   378.523381   192.168.2.2   192.168.2.1   UDP   60   53607 → 27000 Len=5

Frame 461: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface \Device\NPF_{F3F8E4CA-7010-4F24-8C8F-330D739EA555}, id 0
Ethernet II, Src: LCFCHeFe_6c:ca:7e (28:d2:44:6c:ca:7e), Dst: Beckhoff_48:fa:c2 (00:01:05:48:fa:c2)
Internet Protocol Version 4, Src: 192.168.2.2, Dst: 192.168.2.1
User Datagram Protocol, Src Port: 53607, Dst Port: 27000
Data (5 bytes)

Hier komplett:

Frame 1: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface \Device\NPF_{F3F8E4CA-7010-4F24-8C8F-330D739EA555}, id 0
    Interface id: 0 (\Device\NPF_{F3F8E4CA-7010-4F24-8C8F-330D739EA555})
        Interface name: \Device\NPF_{F3F8E4CA-7010-4F24-8C8F-330D739EA555}
        Interface description: Ethernet
    Encapsulation type: Ethernet (1)
    Arrival Time: Aug 25, 2021 17:02:47.998587000 Mitteleuropäische Sommerzeit
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1629903767.998587000 seconds
    [Time delta from previous captured frame: 0.000000000 seconds]
    [Time delta from previous displayed frame: 0.000000000 seconds]
    [Time since reference or first frame: 0.000000000 seconds]
    Frame Number: 1
    Frame Length: 60 bytes (480 bits)
    Capture Length: 60 bytes (480 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ip:udp:data]
    [Coloring Rule Name: UDP]
    [Coloring Rule String: udp]
Ethernet II, Src: LCFCHeFe_6c:ca:7e (28:d2:44:6c:ca:7e), Dst: Beckhoff_48:fa:c2 (00:01:05:48:fa:c2)
    Destination: Beckhoff_48:fa:c2 (00:01:05:48:fa:c2)
        Address: Beckhoff_48:fa:c2 (00:01:05:48:fa:c2)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: LCFCHeFe_6c:ca:7e (28:d2:44:6c:ca:7e)
        Address: LCFCHeFe_6c:ca:7e (28:d2:44:6c:ca:7e)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IPv4 (0x0800)
    Padding: 00000000000000000000000000
Internet Protocol Version 4, Src: 192.168.2.2, Dst: 192.168.2.1
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 33
    Identification: 0x92bb (37563)
    Flags: 0x00
    Fragment Offset: 0
    Time to Live: 128
    Protocol: UDP (17)
    Header Checksum: 0x22bd [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 192.168.2.2
    Destination Address: 192.168.2.1
User Datagram Protocol, Src Port: 53607, Dst Port: 27000
    Source Port: 53607
    Destination Port: 27000
    Length: 13
    Checksum: 0xfbcd [unverified]
    [Checksum Status: Unverified]
    [Stream index: 0]
    [Timestamps]
        [Time since first frame: 0.000000000 seconds]
        [Time since previous frame: 0.000000000 seconds]
    UDP payload (5 bytes)
Data (5 bytes)
    Data: 68656c6c6f
    [Length: 5]
Aber wo könnte jetzt noch der Fehler liegen?

Edit: Der zweite Netzwerkport ist übrigens mit dem lokalen LAN über einen Router verbunden. Dort greife ich auch per Teamviewer auf den Rechner zu. Kann das zu Problemen führen?

fillibuster 26. Aug 2021 10:11

AW: UDP Kommunikation Direktverbindung
 
Es war die Firewall für öffentliche Netze :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf