当前位置:编程学习 > C#/ASP.NET >>

每到期末都很苦逼的小妹求大神们帮忙解释一下这段代码!!!

是和模拟广播风暴有关的吧。。。我需要知道它哪儿模拟了。。。。还有各句代码究竟在干什么。。。。。唔。。。。。。。谢谢大神!!代码如下:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;

class BroadcastSenderDemo
{
    public static void Main()
    {
        Console.WriteLine("请设置发送的线程数:");
        
        string myEnter = Console.ReadLine();
        int num = int.Parse(myEnter);
        for (int i = 0; i < num; i++)
        {
            Thread t = new Thread(new ThreadStart(broadcast)); 
            t.Start();
        }
        Console.ReadKey();
    }

    public static void broadcast()
    {
        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
            ProtocolType.Udp);                                 
        IPEndPoint ipep = new IPEndPoint(IPAddress.Broadcast, 15);
        string hostname = Dns.GetHostName();                      
        byte[] data = Encoding.ASCII.GetBytes(hostname);
        socket.SetSocketOption(SocketOptionLevel.Socket,
            SocketOptionName.Broadcast, 1);
        socket.SendTo(data, ipep);
        Console.WriteLine("已发送");
        socket.Close();
    }

}
--------------------编程问答-------------------- 我一个外行人,大方向我都能看懂。 --------------------编程问答--------------------
引用 1 楼 yangsh0722 的回复:
我一个外行人,大方向我都能看懂。


唔。。那简单说一下好么。。。。? --------------------编程问答-------------------- 妹子裤裆里夹黄连——苦逼 --------------------编程问答--------------------

 //不懂..
--------------------编程问答-------------------- 没啥可解释的,就是多线程建立socket连接(udp)然后发点数据 --------------------编程问答--------------------
引用 5 楼 wddw1986 的回复:
没啥可解释的,就是多线程建立socket连接(udp)然后发点数据


为什么要这样做呢。。。。

运行起来看它就问有几个要发的线程数。。。说几个就发几个。。。和广播风暴有什么关系? --------------------编程问答--------------------
引用 6 楼 heyheyyoyo 的回复:
Quote: 引用 5 楼 wddw1986 的回复:

没啥可解释的,就是多线程建立socket连接(udp)然后发点数据


为什么要这样做呢。。。。

运行起来看它就问有几个要发的线程数。。。说几个就发几个。。。和广播风暴有什么关系?

IPEndPoint ipep = new IPEndPoint(IPAddress.Broadcast, 15);

socket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast, 1);

发的都是广播,这不就是模拟的广播风暴吗,比如你开10000个线程,那就相当于模拟10000台机器发广播。 --------------------编程问答--------------------
引用 7 楼 wddw1986 的回复:
Quote: 引用 6 楼 heyheyyoyo 的回复:

Quote: 引用 5 楼 wddw1986 的回复:

没啥可解释的,就是多线程建立socket连接(udp)然后发点数据


为什么要这样做呢。。。。

运行起来看它就问有几个要发的线程数。。。说几个就发几个。。。和广播风暴有什么关系?

IPEndPoint ipep = new IPEndPoint(IPAddress.Broadcast, 15);

socket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast, 1);

发的都是广播,这不就是模拟的广播风暴吗,比如你开10000个线程,那就相当于模拟10000台机器发广播。


可是广播风暴不是会引起业务瘫痪么。。。。。。但这个运行起来蛮正常啊。。。。。。 --------------------编程问答-------------------- 撸过
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,