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"),);
//实例化套接字
_ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//服务端绑定地址
_ServerSocket.Bind(endPoint); EndPoint ep = (EndPoint)endPoint; while (true)
{
//准备一个数据缓存
byte[] msyArray = new byte[ * ];
//接受客户端发来的请求,返回真实的数据长度
int TrueClientMsgLenth = _ServerSocket.ReceiveFrom(msyArray,ref ep);
//byte数组转字符串
string strMsg = Encoding.UTF8.GetString(msyArray, , 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"), );
//建立客户端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();
}
}
}

c#UDP协议的更多相关文章

  1. TODO:Golang语言TCP/UDP协议重用地址端口

    TODO:Golang语言TCP/UDP协议重用地址端口 这是一个简单的包来解决重用地址的问题. go net包(据我所知)不允许设置套接字选项. 这在尝试进行TCP NAT时尤其成问题,其需要在同一 ...

  2. 闲来无事,写个基于UDP协议的Socket通讯Demo

    项目一期已经做完,二期需求还没定稿,所以最近比较闲. 上一篇写的是TCP协议,今天写一下UDP协议.TCP是有连接协议,所以发送和接收消息前客户端和服务端需要建立连接:UDP是无连接协议,所以发送消息 ...

  3. UDP协议开发

    UDP是用户数据报协议(User Datagram Protocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务.与TCP协议不同,UDP协议直接利用I ...

  4. 基于UDP协议模拟的一个TCP协议传输系统

    TCP协议以可靠性出名,这其中包括三次握手建立连接,流控制和拥塞控制等技术.详细介绍如下: 1. TCP协议将需要发送的数据分割成数据块.数据块大小是通过MSS(maximum segment siz ...

  5. TCP协议与UDP协议的区别

    TCP协议与UDP协议的区别(转) 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  6. 采用UDP协议的PIC32MZ ethernet bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 经过千辛万苦,今天终于 ...

  7. 采用UDP协议实现PIC18F97J60 ethernet bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). TCP/IP Stac ...

  8. 网络编程——基于TCP协议的Socket编程,基于UDP协议的Socket编程

    Socket编程 目前较为流行的网络编程模型是客户机/服务器通信模式 客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求.如图所示,通常,一个服务器进程会同时为多个客户端进程服务,图中服 ...

  9. Linux内核--网络栈实现分析(九)--传输层之UDP协议(下)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7549340 更多请查看专栏,地 ...

  10. Linux内核--网络栈实现分析(五)--传输层之UDP协议(上)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/7532512 更多请看专栏, ...

随机推荐

  1. Redux学习(2) ----- 异步和中间件

    Redux中间件,其实就是一个函数, 当我们发送一个action的时候,先经过它,我们就可以对action进行处理,然后再发送action到达reducer, 改变状态,这时我们就可以在中间件中,对a ...

  2. CSS3 flexbox 布局 ---- flex项目属性介绍

    现在介绍用在flex项目上的css 属性,html结构还是用ul, li 结构,不过内容改成1,2,3, 样式的话,直接把给 ul 设display:flex 变成flex 容器,默认主轴的方向为水平 ...

  3. TLS/SSL

  4. Git简介及安装

    1 Git简介 Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码 ...

  5. kubernetes Helm基本操作

    创建: helm install --name demo --set Persistence.Enabled=false stable/jenkins 查看: kubectl get po,svc - ...

  6. 复习 LIS nlogn

    参考:https://www.cnblogs.com/wxjor/p/5524447.html 最长下降只要把符号都倒过来就行 在栈中二分找第一个比当前值小的替换就行

  7. 如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725

    如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python ...

  8. 【JSOI2008】火星人prefix 哈希 非旋转treap

    题目大意 就是给你一个字符串,有三种操作,共\(m\)个 \(Q~x~y\):询问第\(x\)个后缀和第\(y\)个后缀的LCP \(R~x~y\):把第\(x\)个字符改成\(y\) \(I~x~y ...

  9. 爬虫_豆瓣电影top250 (正则表达式)

    一样的套路,就是多线程还没弄 import requests import re import json headers = 'Mozilla/5.0 (Windows NT 10.0; WOW64) ...

  10. MT【280】最小值函数

    已知正系数二次函数$ax^2+bx+c=0$有实数根,证明:$\min\{a,b,c\}\le\dfrac{a+b+c}{4}$ 证明:$\min\{a,b,c\}=\dfrac{a+c-|a-c|+ ...