• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c#UDP协议

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

UDP协议是不可靠的协议,传输速率快

服务器端:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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


namespace UDPServer
{
    class Server
    {
        private Socket _ServerSocket;                       //服务器监听套接字
        private bool _IsListionContect;                     //是否在监听

        public Server()
        {
            //定义网络终节点(封装IP和端口)
            IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"),1000);
            //实例化套接字
            _ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            //服务端绑定地址
            _ServerSocket.Bind(endPoint);

            EndPoint ep = (EndPoint)endPoint;

            while (true)
            {
                //准备一个数据缓存
                byte[] msyArray = new byte[0124 * 0124];
                //接受客户端发来的请求,返回真实的数据长度
                int TrueClientMsgLenth = _ServerSocket.ReceiveFrom(msyArray,ref ep);
                //byte数组转字符串
                string strMsg = Encoding.UTF8.GetString(msyArray, 0, TrueClientMsgLenth);
                //显示客户端数据
                Console.WriteLine("客户端数据:" + strMsg);
            }
        }

        static void Main(string[] args)
        {
            Server obj = new Server();
        }
    }
}

客户端:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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

namespace UDPClient
{
    class Client
    {
        private Socket _ClientSocket;                       //客户端通讯套接字
        private IPEndPoint SeverEndPoint;                   //连接到服务器端IP和端口

        public Client()
        {
            //服务器通信地址
            SeverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1000);
            //建立客户端Socket
            _ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            EndPoint ep =(EndPoint) SeverEndPoint;

            while (true)
            {
                //输入信息
                string strMsg = Console.ReadLine();
                //退出
                if (strMsg == "exit")
                {
                    break;
                }
                //字节转换
                Byte[] byeArray = Encoding.UTF8.GetBytes(strMsg);
                //发送数据
                _ClientSocket.SendTo(byeArray,ep);
                Console.WriteLine("我:" + strMsg);
            }
            //关闭连接
            _ClientSocket.Shutdown(SocketShutdown.Both);
            //清理连接资源
            _ClientSocket.Close();
        }

        static void Main(string[] args)
        {
            Client obj = new Client();
        }
    }
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++异常发布时间:2022-07-13
下一篇:
c#代码启动任务管理器的几种方法发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap