My Computer is Win2K3 R2, Code is:
using System;
using System.Net;
using System.Net.Sock ets;
using System.Threadin g;
namespace TechUDPBroadcas t {
class Program {
static void Main(string[] args) {
const string addr = "224.1.3.99 ";
const int prt = 12799;
UdpClient udpc = new UdpClient();
udpc.Client.Set SocketOption(So cketOptionLevel .Socket,
SocketOptionNam e.ReuseAddress,
true);
udpc.Client.Bin d(new IPEndPoint(IPAd dress.Any, prt));
udpc.EnableBroa dcast = true;
udpc.JoinMultic astGroup(IPAddr ess.Parse(addr) );
ManualResetEven t abort = new ManualResetEven t(false);
WaitHandle[] evs = new WaitHandle[2];
evs[0] = abort;
ThreadPool.Queu eUserWorkItem(n ew WaitCallback(de legate {
while (true) {
IAsyncResult asy = udpc.BeginRecei ve(
new AsyncCallback(d elegate(IAsyncR esult
iasy) {
IPEndPoint rp = null;
byte[] recv = udpc.EndReceive (iasy, ref rp);
Console.Write(" .");
}), null);
evs[1] = asy.AsyncWaitHa ndle;
if (WaitHandle.Wai tAny(evs) == 0) return;
}
}));
ThreadPool.Queu eUserWorkItem(n ew WaitCallback(de legate {
for (int i = 0; i < 1000; i++) {
udpc.Send(new byte[] { 0x1, 0x2 }, 2,
new IPEndPoint(IPAd dress.Parse(add r),
prt));
Console.Write(" +");
Thread.Sleep(10 00);
if (abort.WaitOne( 0, false)) return;
}
}));
Console.ReadKey ();
Abort.Set();
}
}
}
When my computer is single network connection(Loca l Network),
the code works fine. My problem is, when i connect the Internet with PPPOE,
the UDPClient can not receive the broadcasting data!
Why?
greenxiar