using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Net.Sockets;

namespace Dachie{class Program    {static void Main(string[] args)        {                    }    }public class MessageUtility    {

//缺省端口号        private const int DEFAULT_PORT = 49967;

private MessageUtility()        {//// TODO: 在此处添加构造函数逻辑//        }

//发送消息方法        public static void SendMessage(string msg)        {byte[] data = new byte[1024];//本机主机信息            IPHostEntry host = Dns.GetHostByName(Dns.GetHostName());

//端口号参数以后重构时可以做成一个方法从配置文件中读取端口号            IPEndPoint ipep = new IPEndPoint(host.AddressList[0], DEFAULT_PORT);

//创建一个udp套接字            Socket server = new Socket(AddressFamily.InterNetwork,                SocketType.Dgram, ProtocolType.Udp);

if (msg.Length != 0)            {                data = Encoding.Unicode.GetBytes(msg);try                {                    server.SendTo(data, data.Length, SocketFlags.None, ipep);                }catch (SocketException) { }finally                {                    server.Close();                }

            }

        }

//接受消息方法        public static string ReceiveMessage()        {int recv;byte[] data = new byte[1024];

//创建一个随机终结点对象            IPEndPoint ipep = new IPEndPoint(IPAddress.Any, DEFAULT_PORT);

//创建一个Udp套接字            Socket newsock = new Socket(                AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

//将随机终结点与Udp套接字绑定,以等待流入的数据包            newsock.Bind(ipep);

//创建一个接受任意发送者的终结点            IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);            EndPoint tmpRemote = (EndPoint)(sender);

try            {                recv = newsock.ReceiveFrom(data, ref tmpRemote);return Encoding.Unicode.GetString(data, 0, data.Length);            }catch (SocketException)            {return null;            }finally            {                newsock.Close();//关闭套接字释放资源            }

        }

    }}

转载于:https://www.cnblogs.com/SUPERAI/archive/2011/11/28/2266542.html

C# UDP 发送 接收相关推荐

  1. c#UDP发送接收消息

    UDP作为一种简单的.面向数据报的无连接的协议,虽然提供的是不可靠的服务,但是从速度上.一对多传输方面比TCP有着很大的优势.本文主要讲解UDP信息的发送和接收. Demo界面图如下: 首先打开程序e ...

  2. linux下使用UDP发送接收数据

    //接收 static int sock_fd; struct sockaddr_in recv_addr; //读取参数 struct sockaddr_in send_addr; //发送参数 s ...

  3. 【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )

    文章目录 I UDP 信息发送接收原理 II UDP 发送和接收端口相同 III UDP 发送信息代码示例 IV UDP 接收信息代码示例 V UDP 服务器端代码示例 VI UDP 客户端代码示例 ...

  4. vc udp 广播接收和发送_UDP编程与DatagramSocket类:UDP的套接字

    API ----网络编程 ----DatagramPacket类 ----InetAddress类 java.lang.Object 继承者 java.net.DatagramSocket publi ...

  5. python编写赛车_python udp 协议发送接收秒速赛车平台搭建数据

    python udp 协议发送接收秒速赛车平台搭建数据 Socket socket 简称套接字, 秒速赛车平台搭建 [企鹅 217-1793-408] 是进程间通信的一种方式. 与其他的方式的进程间的 ...

  6. Linux c++ udp按包发送接收文件

    我最近写一个项目的时候需要涉及到udp传输文件.网上找了找发现没什么合适的,那么我就写了一个自己的供参考. 文件分成两类:第一类是文本文件,第二类是二进制文件.他们的文件读写是不一样的.所以我提供了两 ...

  7. java发送接收UDP数据包:字符串,byte[]字节数组,文件等

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java发送接收UDP数据包,数据内容为byte[],包括一切可以转换为byte[]的内容. 测试代码 public static void ma ...

  8. C语言实现linux环境UDP协议接收发送数据

    C语言实现linux环境UDP协议接收发送数据 说明 上代码 运行结果 说明 闲来无事,写了个C语言的UDP小程序,程序新建了两个线程,分别用来实现UDP数据到发送和接收.需要的直接拿去用. 上代码 ...

  9. 25. Python语言 Web 开发 之 Socket 编程 · 第一章 UDP发送与接收数据

    UDP发送与接收数据 本章主题 关键词 前导: 计算机网络的发展及基础网络概念 两台电脑的通信 IP地址介绍及分类 IP地址与IP协议 Windows 和 Linux 查看网卡信息 IP地址分类 以太 ...

  10. TCP性能和发送接收Buffer的关系

    本文希望解析清楚,当我们在代码中写下 socket.setSendBufferSize 和 sysctl 看到的rmem/wmem系统参数以及最终我们在TCP常常谈到的接收发送窗口的关系,以及他们怎样 ...

最新文章

  1. 大哥你怕是没听过:头上没毛,代码不牢!
  2. R语言数据热力图绘制实战(基于原生R函数、ggplot2包、plotly包)
  3. python哪个代码是正确的字典_Python - 字典(dict) 详解 及 代码
  4. Linux的.a .so和.o文件
  5. 在MVC项目中使用Ninject
  6. 用C#实现对Oracle 存储过程/函数/包的调试(附源代码)
  7. 百度网盘设置自定义提取码
  8. 招生CRM系统|基于Springboot实现培训机构招生CRM管理系统
  9. ios系统安装包下载_iOS 屏蔽系统升级,描述文件版本已复活,无需越狱,请速度下载!...
  10. 机器学习中baseline,benchmark,backbone的学习记录
  11. 实例简述Spring AOP之对AspectJ语法的支持
  12. 南京印象之出租车司机
  13. 基于音频指纹技术的微信“摇一摇搜歌”和QQ音乐“听歌识曲”
  14. Windows装机必备常用软件
  15. Jmeter项目文档
  16. B 站“鸽子”上天失败背后,是一场商业航天背景下的营销
  17. DSDS,双模,双卡,双待,单待,双通,单通,概念及相互关系?【转】
  18. 【大并发服务器开发】简要谈谈分布式服务器的设计方案思路推变过程
  19. 给兰姐姐的苹果爱思下载和使用教程
  20. 「WGCLOUD」支持监测Android(安卓)终端手机的状态吗

热门文章

  1. 手挽手带你学VUE:四档 Vue-cli3 Vuex Vue-router
  2. feign三:覆写feign的默认配置及feign的日志
  3. Redis安装(源码安装)
  4. Oracle 12c多租户特性详解:PDB 的出与入 InAndOut
  5. 使用5502自带的UART口发送数据乱码的问题
  6. :《我相信》腾讯QQ vs 360决战版
  7. 最小二乘方法和RANSAC的改进算法PROSAC和LMEDS
  8. MySQL基础知识及常见面试题整理
  9. PHP学习思维导图--小树好久没长大了,给它加点枝叶
  10. 基于DEV控件库的webservice打印.repx模板