如何与使用DHCP获取IP地址的设备组网

首先通过UDP协议向网络发送广播:

ContractedBlock.gif ExpandedBlockStart.gif Code
class Program {
    
static void Main(string[] args) {
        UdpClient client 
= new UdpClient();
        
while (true) {
            
string s = "FindTerminals";
            
byte[] bytes = Encoding.ASCII.GetBytes(s);
            
try {
                client.Connect(IPAddress.Broadcast, 
3600);
                client.Send(bytes, bytes.Length);
                Console.WriteLine(Encoding.ASCII.GetString(bytes));
            } 
catch (Exception ex) {
                Console.WriteLine(ex);
                client.Close();
                
break;
            }

            Thread.Sleep(
1000);
        }

        Console.WriteLine(
"== End ==");
        Console.ReadKey();
    }
}

 

在设备上运行一个UDP监听进程来反馈服务器的网络广播:

ContractedBlock.gif ExpandedBlockStart.gif Code
class Program {
    
static void Main(string[] args) {
        UdpClient client 
= new UdpClient(3600);

        
while (true) {
            IPEndPoint RemoteIpEndPoint 
= new IPEndPoint(IPAddress.Any, 0);
            
try {
                Byte[] buffer 
= client.Receive(ref RemoteIpEndPoint);
                
string data = Encoding.ASCII.GetString(buffer);

                Console.WriteLine(
"Message:{0} from {1}", data.ToString(), RemoteIpEndPoint.Address.ToString());
                
// 获得服务器IP地址后,即可建立网络连接向服务器反馈本机信息
            } catch (Exception ex) {
                Console.WriteLine(ex);
                client.Close();
                
break;
            }
        }

        Console.WriteLine(
"== End ==");
        Console.ReadKey();
    }
}

 

设备在获得服务器IP地址后,就可以建立网络连接向服务器反馈本机信息;服务器收到设备的反馈后,提取设备信息如IP地址、MAC地址,完成组网。

转载于:https://www.cnblogs.com/acexist/archive/2009/05/12/1454858.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值