zoukankan      html  css  js  c++  java
  • 最简单的C#UDP通讯示例

    参考:https://www.cnblogs.com/zxyc2000/articles/2846662.html  和  https://www.cnblogs.com/mq0036/p/7302605.html

    UDP应用不是严格意义上的真正的服务器和客户机,而是平等的关系,即没有server与client的关系。

    IPv4中的广播(broadcast)可以导致网络性能的下降甚至广播风暴(broadcast storm)。在IPv6中就不存在广播这一概念

    1、打开vs2017新建控制台项目udpclient

     static void Main(string[] args)
            {            
                IPEndPoint udpPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 4505);
                UdpClient udpClient = new UdpClient(udpPoint);
                //UdpClient udpClient = new UdpClient(); 匿名发送,自动分配本地IPv4地址udpcSend = new UdpClient(0); 
                string sendMsg = "Hello UDP Server.";
                byte[] sendData = Encoding.Default.GetBytes(sendMsg);
                IPEndPoint targetPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5500);
                udpClient.Send(sendData, sendData.Length, targetPoint);
                Console.WriteLine("Send Message:{0}", sendMsg);
                Console.Read();
            }
        }

    2.在解决方案资源管理器中,解决方案上点右键-添加-新建项目,添加控制台应用udpserver

    static void Main(string[] args)
            {
                IPEndPoint udpPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5500);
                UdpClient udpClient = new UdpClient(udpPoint);
                //IPEndPoint senderPoint = new IPEndPoint(IPAddress.Parse("14.55.36.2"), 0);
                IPEndPoint senderPoint = new IPEndPoint(IPAddress.Any, 0);
                byte[] recvData = udpClient.Receive(ref senderPoint);
                Console.WriteLine("Receive Message:{0}",Encoding.Default.GetString(recvData));
                Console.Read();
            }

    3.添加引用,生成解决方案,先运行udpserver,再运行udpclient 。

    4、大家可能注意到这个例子只能发送和接收一次,下一篇将介绍用TCP方式连续进行发送的例子。

     5、如果希望控制台程序不显示窗口,可以创建好控制台程序后,选中项目,右键,属性,输出类型选为“windows 应用程序” 这样就没有dos窗口了(参考:https://blog.csdn.net/liyifei21/article/details/7948385)

  • 相关阅读:
    python基础2
    python基础1
    25 CSS3盒子模型
    24 CSS3新增选择器
    23 html5新特性
    22 css初始化
    21 布局技巧
    20 溢出的文字显示省略号
    19 vertical-align 属性应用
    18 CSS三角 用户界面样式
  • 原文地址:https://www.cnblogs.com/pu369/p/9984182.html
Copyright © 2011-2022 走看看