• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > c#实现简单控制台udp异步通信程序示例

c#实现简单控制台udp异步通信程序示例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#udp异步通信,c#udp高并发异步通信,c#udp通信,c#udp,c#udp通信实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

实现客户端发送请求,服务器端响应机制

UDP客户端代码

namespace Client
{
    class Program
    {
        //客户端 Socket对象
        private static Socket clientSocket;
        //服务器端 终点
        private static EndPoint epServer;
        //接收数据的字符数组
        private static byte[] receiveData;

        public static void Main(string[] args)
        {
            //客户端Socket对象实例化
            clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            //设置服务器端IP地址和对应端口
            IPEndPoint server = new IPEndPoint(IPAddress.Parse("192.168.1.165"), 11000);
            //实例化服务器端 终点
            epServer = (EndPoint)server;
            string msg;     //要发送的消息
            byte[] sendData;    //要发送的字符串
            while (true) {
                msg = Console.ReadLine();   //输入要发送的消息
                if (msg == "exit") break;   //当输入“exit”时,退出客户端程序
                //将消息通过ASCII编码转换为字符数组,
                //如果要发送汉字或其他特殊符号,可以采用UTF-8
                sendData = Encoding.ASCII.GetBytes(msg);   
                //开始异步发送消息
                //参数:sendData           要发送的数据
                //参数:0:                 要发送数据的起始位置
                //参数:sendData.Length:   要发送数据的字节数
                //参数:SocketFlags.None:  按位组合方式
                //参数:epServer:          接收方设备(包含IP和端口)
                //参数:new AsyncCallback(SendData):   委托
                //参数:null:          请求的状态信息
                clientSocket.BeginSendTo(sendData, 0, sendData.Length, SocketFlags.None,
                    epServer, new AsyncCallback(SendData), null);
                //实例化接收数据的字符数组
                //若在声明时已经初始化,此处依然要进行重新初始化
                //当上次接收的数据长度大于本次,则该数组里包含上次接收的残留数据
                //比如:上次接收“你个小逗逼”。本次接收“开玩笑”。
                //则数组中的数据为:“开玩笑逗逼”。
                receiveData = new byte[1024];
                //开始异步接收消息
                //参数部分与异步发送部分对应,基本一致
                clientSocket.BeginReceiveFrom(receiveData, 0, receiveData.Length, SocketFlags.None,
                    ref epServer, new AsyncCallback(ReceiveData), null);
            }
        }

        //异步发送消息的委托函数
        private static void SendData(IAsyncResult iar)
        {
            //完成异步发送
            clientSocket.EndSend(iar);
        }

        //异步接收消息的委托函数
        private static void ReceiveData(IAsyncResult iar)
        {
            //完成异步接收  recv 表示接收到的字节数
            int recv = clientSocket.EndReceive(iar);
            //将接收到的数据打印出来
            Console.WriteLine("Server: " + Encoding.ASCII.GetString(receiveData, 0, recv));
        }

    }
}
</div>

UDP服务器端代码

namespace Server
{
    class AsyncUdpServer
    {
        //服务器端Socket对象
        private static Socket serverSocket;
        //接收数据的字符数组
        private static byte[] receiveData = new byte[1024];
<

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#基于UDP进行异步通信的方法
  • C#实现异步连接Sql Server数据库的方法
  • C#实现异步发送邮件的方法
  • C#中使用UDP通信实例
  • C#同步、异步远程下载文件实例
  • c#实现简单控制台udp异步通信程序示例
  • C#获取Windows进程监听的TCP/UDP端口实例
  • 如何应用C#实现UDP的分包组包

相关文章

  • 2017-05-28C#生成MD5的函数代码
  • 2017-05-28c#使用filesystemwatcher监视文件系统的变化
  • 2017-05-28C#编程和Visual Studio使用技巧(上)
  • 2017-05-28C#基于Extension Method(扩展方法)获得文件大小的方法
  • 2017-05-28C#中Activator.CreateInstance()方法用法分析
  • 2017-05-28C# 无边框窗体边框阴影效果的简单实现
  • 2017-05-28C#编程中设置程序只可被运行一次的方法
  • 2017-05-28C# WinForm制作异形窗体与控件的方法
  • 2017-05-28C#自定义简化cookie类实例
  • 2017-05-28C#中string用法实例详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#绘制飞行棋地图小程序
    • C#图书管理系统 附源码下载
    • C#控制Excel Sheet使其自适应页宽与列宽的方法
    • c#通用登录模块分享
    • C#程序员最易犯的编程错误
    • WPF弹出带蒙板的消息框
    • 深入C#字符串和享元(Flyweight)模式的使用分析
    • C#词法分析器之正则表达式的使用
    • C#代码实现PDF文档操作类
    • C# 设计模式系列教程-命令模式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有