Re: System.Net.Sockets.SocketException -UDP
- From: "Torben Schulz" <grimwulf[ENTF]@gmx.net>
- Date: Wed, 5 Oct 2005 09:46:12 +0200
Hallo Thomas,
> gib beim UdpClient-Konstruktor die (Empfangs-) Port-Nummer an, etwas wie:
>
> // hier zB 11000 als lokalen Port binden
> UdpClient udpClient = new UdpClient( 11000,
> AddressFamily.InterNetwork );
> IPEndPoint remoteIPEndPoint = new IPEndPoint( IPAddress.Any, 0 );
> byte[] receivedBytes = udpClient.Receive( ref remoteIPEndPoint );
Das hat in meinem Falle auch nicht so recht geholfen, auch wenn der Fehler
woanders liegen mag.
Ich möchte folgendes erreichen:
Wir haben im Netz mehrere Gateways, die auf Port 19000 auf ein UDP lauschen
und nach Erhalt ein Protokoll mit z.B. Speicherdaten zurücksenden. Die IPs
der Gateways sowie deren Anzahl kann variieren.
Mein Ansatz war, den Request erst einmal pauschal an alle Teilnehmer im Netz
zu schicken:
Byte[] sendBytes = Encoding.ASCII.GetBytes("SEARCH_REQUEST\r\n\r\n");
UdpClient udpClient = new UdpClient();
IPEndPoint remoteIpEndPoint = new IPEndPoint(IPAddress.Broadcast , 0);
udpClient.Send(sendBytes, sendBytes.Length, remoteIpEndPoint);
Das scheint auch zu klappen, nur beim Lauschen geht es scheinbar nicht
recht.
Byte[] receiveBytes = udpClient.Receive(ref receiveIpEndPoint);
string returnData = Encoding.ASCII.GetString(receiveBytes);
udpClient.Close();
Mit einem Networksniffer kann ich nachverfolgen, dass ein ein Gerät - immer
das selbe - antwortet, aber:
die Antwort erreicht mein .NET nicht und ein anderes Gerät scheint nicht zu
reagieren.
Es liegt nicht an den Geräten, da eine C++-Anwendung, die eigentlich genau
das machen sollte, was ich nachbaue, alle Geräte erreicht und auch eine
Antwort bekommt.
Viele Grüße,
Torben
"Thomas Scheidegger [MVP]" <spam.netmaster@xxxxxxxxxxxxxx> schrieb im
Newsbeitrag news:umiI0JOyFHA.3856@xxxxxxxxxxxxxxxxxxxxxxx
> Hallo Torben
>
>
> > ich sende ein UDP-Protocol und warte auf eine Antwort (die laut
> > UdpClient udp_listener = new UdpClient();
> > IPEndPoint receiveEndPoint = new IPEndPoint(IPAddress.Any ,0);
> > Byte[] receiveBytes;
> > receiveBytes = udp_listener.Receive( ref receiveEndPoint );
> //Hier kommt > ein Fehler!
>
>
> gib beim UdpClient-Konstruktor die (Empfangs-) Port-Nummer an, etwas wie:
>
> // hier zB 11000 als lokalen Port binden
> UdpClient udpClient = new UdpClient( 11000,
> AddressFamily.InterNetwork );
> IPEndPoint remoteIPEndPoint = new IPEndPoint( IPAddress.Any, 0 );
> byte[] receivedBytes = udpClient.Receive( ref remoteIPEndPoint );
>
>
>
> --
> Thomas Scheidegger - MVP .NET - 'NETMaster'
> http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/
>
>
.
- Follow-Ups:
- Re: System.Net.Sockets.SocketException -UDP
- From: Robert Jordan
- Re: System.Net.Sockets.SocketException -UDP
- References:
- System.Net.Sockets.SocketException -UDP
- From: Torben Schulz
- Re: System.Net.Sockets.SocketException -UDP
- From: Thomas Scheidegger [MVP]
- System.Net.Sockets.SocketException -UDP
- Prev by Date: Re: System.Net.Sockets.SocketException -UDP
- Next by Date: StreamReader mit offener Datei
- Previous by thread: Re: System.Net.Sockets.SocketException -UDP
- Next by thread: Re: System.Net.Sockets.SocketException -UDP
- Index(es):
Relevant Pages
|
Loading