receive - blockt das proggi

Diskutiere receive - blockt das proggi im Programmierung Forum im Bereich Software Forum; Tach zusammen, Ich habe schonwieder eine Frage, bei der Herr Google mir nicht wirklich weiter helfen kann. Folgender code...
H

HStamme

Threadstarter
Dabei seit
26.02.2008
Beiträge
6
Tach zusammen,
Ich habe schonwieder eine Frage, bei der Herr Google mir nicht wirklich weiter helfen kann.
Folgender code:
______________________________________________
Try

udpClient.Connect("192.168.10.234", 12345) 'Portnummer des Empfängers
udpClient.Send(nibble, 32)
Dim RemoteIpEndPoint As New IPEndPoint((234 + 256L * (10 + 256 * (168 + 256 * 192))), 12345) '(IPAddress.Any, 54321)
Dim receiveBytes As [Byte]()
receiveBytes = udpClient.Receive(RemoteIpEndPoint)
Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
Dim strcount As String = CStr(count)
udpClient.Close()
.......
_______________________________________________

in der Zeile:
_______________________________________________

receiveBytes = udpClient.Receive(RemoteIpEndPoint)
_______________________________________________

Blockiert mein Programm, der Versuch das über ein extra Try abzufangen bringt keinen Erfolg. Wie kann ich verhindern, dass das Programm blockiert, wenn keine Nachricht übers ethernet kommt?
Der andere Rechner nutzt den gleichen Code, nur ist da die IP geändert.(logisch)
Also senden wir von Client zu Client.
Bei gleichzeitigem starten des Programms funktioniert die Verbindung auch, aber wenn einer der Rechner nicht mehr sendet, dann friert das andere Programm ein.
Bin für jede Hilfe dankbar!

MfG HStamme

PS.: Ich nutze VB 2005 E-E
 
DiableNoir

DiableNoir

Dabei seit
18.01.2004
Beiträge
6.069
Eigentlich hättest du nicht deswegen einen extra Thread aufmachen müssen. ;)

Also eigentlich ist es klar warum blockiert wird, denn der Thread deiner Anwendung wird solange angehalten bis Daten reinkommen.

Du hast jetzt zwei Möglichkeiten: Entweder du lagerst deinen Netzwercode in einen extra Thread aus, oder du machst ihn asyncron. Dazu musst du BeginReceive anstatt Receive verwenden.

Dann läuft deine Anwendung normal, auch wenn sie auf ein Netzwerksignal wartet. Die Gegenstelle muss natürlich solange senden, bis sie zB selbst ein OK-Signal vom Empfänger erhält.

BTW: Du würdest dir einiges an Arbeit ersparen wenn du nicht UDP sondern TCP verwenden würdest. Da kannst du dir sicher sein, dass Nachrichten angekommen sind und brauchst das nicht Anwendungsspezifisch ausprogrammieren. ;)
 
Thema:

receive - blockt das proggi

receive - blockt das proggi - Ähnliche Themen

  • XBOX 360 Wireless Gaming Receiver-Treiberinstallation funktioniert nicht mehr

    XBOX 360 Wireless Gaming Receiver-Treiberinstallation funktioniert nicht mehr: Ich habe zur Benutzung meines Xbox 360 Controllers am PC einen Adapter bei einem Drittanbieter gekauft. Daher erfolgte die Treiberinstallation...
  • Auf Netzwerkgerät konnte nicht zugegriffen werden (SAT-Receiver)

    Auf Netzwerkgerät konnte nicht zugegriffen werden (SAT-Receiver): Ich habe einen SAT-Netzwerkreceiver "VU Ultimo 4K" am Ethernet-Netzwerk auf dessen HDD ich vom PC aus via privates Netzwerk zugreifen möchte...
  • Windows 10 x64 Pro Version 2004 Treiber Problem Xbox 360 Wireless Receiver für Windows lässt sich nicht installieren

    Windows 10 x64 Pro Version 2004 Treiber Problem Xbox 360 Wireless Receiver für Windows lässt sich nicht installieren: Hallo, ich habe das Update 2004 von Windows 10 Pro x64 installiert und kann den Treiber "Xbox 360 Wireless Receiver für Windows" installieren...
  • Windows 10 x64 Pro Version 2004 Treiber Problem Xbox 360 Wireless Receiver für Windows lässt sich nicht installieren

    Windows 10 x64 Pro Version 2004 Treiber Problem Xbox 360 Wireless Receiver für Windows lässt sich nicht installieren: Hallo, ich habe das Update 2004 von Windows 10 Pro x64 installiert und kann den Treiber "Xbox 360 Wireless Receiver für Windows" installieren...
  • Ähnliche Themen
  • XBOX 360 Wireless Gaming Receiver-Treiberinstallation funktioniert nicht mehr

    XBOX 360 Wireless Gaming Receiver-Treiberinstallation funktioniert nicht mehr: Ich habe zur Benutzung meines Xbox 360 Controllers am PC einen Adapter bei einem Drittanbieter gekauft. Daher erfolgte die Treiberinstallation...
  • Auf Netzwerkgerät konnte nicht zugegriffen werden (SAT-Receiver)

    Auf Netzwerkgerät konnte nicht zugegriffen werden (SAT-Receiver): Ich habe einen SAT-Netzwerkreceiver "VU Ultimo 4K" am Ethernet-Netzwerk auf dessen HDD ich vom PC aus via privates Netzwerk zugreifen möchte...
  • Windows 10 x64 Pro Version 2004 Treiber Problem Xbox 360 Wireless Receiver für Windows lässt sich nicht installieren

    Windows 10 x64 Pro Version 2004 Treiber Problem Xbox 360 Wireless Receiver für Windows lässt sich nicht installieren: Hallo, ich habe das Update 2004 von Windows 10 Pro x64 installiert und kann den Treiber "Xbox 360 Wireless Receiver für Windows" installieren...
  • Windows 10 x64 Pro Version 2004 Treiber Problem Xbox 360 Wireless Receiver für Windows lässt sich nicht installieren

    Windows 10 x64 Pro Version 2004 Treiber Problem Xbox 360 Wireless Receiver für Windows lässt sich nicht installieren: Hallo, ich habe das Update 2004 von Windows 10 Pro x64 installiert und kann den Treiber "Xbox 360 Wireless Receiver für Windows" installieren...
  • Oben