Autor Beitrag
falcoperegrinus
Hält's aus hier
Beiträge: 3

WIN 7, Ubuntu 10.04
VS 2010 Ultimate
BeitragVerfasst: Do 19.05.11 16:13 
Hallo,
UDP-Frames, die ich von meinem lokalen Rechner(mit der IP 192.168.0.105) aus an die IP 192.168.0.105 und Port 19460 sende, werden ausgegeben. Schicke ich jedoch von einem entfernten Rechner im LAN UDP-Frames an die IP 192.168.0.105:19460 werden die in unten stehendem Programm nicht ausgegeben/empfangen. In Wireshark jedoch sehe ich die Frames. Kann es sein, dass ich dort ein Berechtigungsproblem habe und das Betriebssystem die Frames nicht zu dem Thread durchlässt? Im Main-Thread kann ich die Frames problemlos empfangen...
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
public void GetNewData()
{
   Thread receiveThread = new Thread(ReceiveData);
   receiveThread.IsBackground = true;
   receiveThread.Start();
}

private static void ReceiveData()
{
   int listenPort = 19460;
           
   IPAddress ipAddress = IPAddress.Parse("192.168.0.105");
   UdpClient client = new UdpClient(listenPort);
   IPEndPoint endPoint = new IPEndPoint(ipAddress, listenPort);
            
   while (true)
   {
    try
       {
         byte[] data = client.Receive(ref endPoint);
         string text = Encoding.UTF8.GetString(data);
         Console.WriteLine(">> " + text);
       }
       catch (Exception err)
       {
         Console.WriteLine(err.ToString());
       }
   }
}


Vielen Danke im voraus!!
Eudaimonie
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 23.05.11 14:15 
Vermutlich musst du auf deinem 192.168.0.105 Rechner (der Rechner, der empfängt) in der Windows-Firewall (oder externe Firewall, falls vorhanden) den Port 19460 öffnen.