日期:2014-05-20  浏览次数:20984 次

4 个裤衩 散分 再问个小问题
终于能散200了~~~感动

问题:怎么用udp对所有范围内的ip发送udp广播     我现在只能对本ip段的   发送  
看来是子网掩码的关系   不过第一次用     希望有人能解答

UdpClient   udpClient   =   new   UdpClient();
udpClient.Connect(IPAddress.Broadcast,   _port);
string   str   =   "iNeedUIP ";
byte[]   msg   =   System.Text.Encoding.ASCII.GetBytes(str);
udpClient.Send(msg,   msg.Length);

这是我现在的代码,谁有好的解决方案     请告诉     谢谢
另外     怎么限制局域网   和   internet       有什么区别     是在是不甚了解啊

------解决方案--------------------
恭喜 JF
------解决方案--------------------
恭喜,接分~
------解决方案--------------------
4 个裤衩 接分
------解决方案--------------------
恭喜 JF 问题不会
------解决方案--------------------
恭喜,接分~

------解决方案--------------------
恭喜,接分~
------解决方案--------------------
tcp/ip,udp不懂,jf,感动
------解决方案--------------------
/// <summary>
/// 执行UDP服务的线程函数
/// </summary>
private void StartServer()
{
byte[] receiveData;

ASCIIEncoding encode = new ASCIIEncoding();

byte[] sendData = encode.GetBytes( "Query:FFFFFF ");

try
{
//创建发送端UDP发送广播包
server.Send(sendData, sendData.Length, receivePoint);

//创建DataTable,数据
stbTable = myDB.GetDataTable( "select * from VOD_TBL_Stb where 1=2 ");
DataRow dr;

while (true)
{
//接收从远程主机发送到本地的数据
receiveData = server.Receive(ref receivePoint);
receiveString = encode.GetString(receiveData);

//添加新记录到DataTable
if (receiveString.Substring(0, 4).ToUpper() == "LIVE ")
{
dr = stbTable.NewRow();
dr[ "Ip "] = receivePoint.Address.ToString();
dr[ "Port "] = receivePoint.Port;
dr[ "Data "] = receiveString;
stbTable.Rows.Add(dr);
//myDB.ExecuteNoQuery( "insert into VOD_TBL_Stb values( ' " + ip + " ', " + port + ", ' " + data + " ') ");
}
}
}
catch
{
server.Close();
return;
}
}
------解决方案--------------------
UDP是不能对整个Internet发送广播的,不然互联网还不乱了!
它只能对某一个网段广播!
------解决方案--------------------
接分
------解决方案--------------------
恭喜,接分
------解决方案--------------------
学习JF
------解决方案--------------------
学习ing...
------解决方案--------------------
jf

------解决方案--------------------
jf

------解决方案--------------------
恭喜
------解决方案--------------------