你可以將遠端Server ip通過數據發送過來呀(假如UDP Server也是你做的)

解决方案 »

  1.   

    對於UDP方面的開發,我不用UDPClient,這樣也是可以實現的
    IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("255.255.255.255") , 55954);
    Socket server = new Socket(AddressFamily.InterNetwork , SocketType.Dgram , ProtocolType.Udp);
    string sSend = "Hello Server";
    server.SetSocketOption(SocketOptionLevel.Socket , SocketOptionName.Broadcast , 1000);
    data = Encoding.ASCII.GetBytes(sSend);
    server.SendTo(data , data.Length , SocketFlags.None , ipep);
      

  2.   

    UDP Server 一般這樣實現
    IPEndPoint ipep = new IPEndPoint(IPAddress.Any , 55954);
    Socket socket = new Socket(AddressFamily.InterNetwork , SocketType.Dgram , ProtocolType.Udp);
    socket.Bind(ipep);
    while(true)
    {
    byte[] data = new byte[1024];
    string sRev = "";
    int recv = 0;
    Console.WriteLine("Wait for a client...");
    IPEndPoint sender = new IPEndPoint(IPAddress.Any , 0);
    EndPoint remote = (EndPoint)(sender);
    recv = socket.ReceiveFrom(data , ref remote);
    for(int i = 0 ; i < recv ; i ++)
    {
    sRev += data[i].ToString("X2") + " ";
    }
    Console.WriteLine("Message receive from {0}" , remote.ToString());
    Console.WriteLine(sRev);
    }
      

  3.   

    To: rroo(天之痕) 如果发送端的 ip 不是通过数据报文发送过来的话。接收端有没有办法 直接 就能 判断出是哪一台 机器发送过来的数据包?
      

  4.   

    我想知道用UdpClient和直接用socket有什么区别呢?是不是UdpClient有什么不好的地方?