①
建立新文件UDPsever②
给项目取名字为UDPsverer③
写入代码using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace server
{
class Program
{
static void Main(string[] args)
{
UdpClient client = null;
string receiveString = null;
byte[] receiveData = null;
client = new UdpClient(11000);
//实例化一个远程端点,IP和端口可以随意指定,等调用client.Receive(ref remotePoint)时会将该端点改成真正发送端端点
IPEndPoint remotePoint = new IPEndPoint(IPAddress.Any, 0);
int i = 0;
while(true)
{
receiveData = client.Receive(ref remotePoint);//接收数据
receiveString = Encoding.Default.GetString(receiveData);
Console.WriteLine("第" + i + "行" + receiveString);
i++;
}
}
}
}
}
④
运行调试执行⑤
结果①
建立新项目名字为UDPclient②
输入代码using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace UDPclient
{
class Program
{
static void Main(string[] args)
{
string sendString = "hello cqjtu!重交物联2018级";//要发送的字符串,如hello cqjtu!重交物联2018级
byte[] sendData = null;//要发送的字节数组
UdpClient client = null;
IPAddress remoteIP = IPAddress.Parse("10.61.131.59"); //假设发送给这个IP
int remotePort = 11100;
IPEndPoint remotePoint = new IPEndPoint(remoteIP, remotePort);//实例化一个远程端点
client = new UdpClient();
int i = 0;
while (i < 50)
{
sendData = Encoding.Default.GetBytes(sendString);
client.Send(sendData, sendData.Length, remotePoint);//将数据发送到远程端点
Console.WriteLine("第" + i + "行");
i++;
}
client.Close();//关闭连接
System.Console.ReadKey();//如果没有此句,程序会一闪而过
}
}
}
③
开始调试①
新建项目②
输入项目名
客户端程序
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Sockets;
namespace demo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
UdpClient udpSender = new UdpClient(0);
udpSender.Connect("192.168.43.165", 8000);
string message = textBox1.Text;
byte[] sendBytes = Encoding.UTF8.GetBytes(message);
udpSender.Send(sendBytes, sendBytes.Length);
}
private void label1_Click(object sender, EventArgs e)
{
}
}
}
服务端程序用上面的就行,这里就不写了,接下来是运行结果
客户端
这是我抓到的包,源地址是192.168.43.205,目的地址是192.168.43.165,使用协议为UDP,端口号为8000,长度为11字节,数据内容为hello world.
服务端
这是舍友抓到的包,源地址就是192.168.43.205,目的地址为192.168.43.165.内容为hello world,11字节,端口号为11,使用协议为UDP。
参考:
https://blog.csdn.net/weixin_39138071/article/details/79630133?biz_id=102&utm_term=UDP%E4%BB%8B%E7%BB%8D&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-79630133&spm=1018.2118.3001.4449
日期时间需要设置部分禁选时,借助picker-options。:picker-options="{disabledDate:time=>{returntime.getTime()<Date.now()-8.64e7},selectableRange:startTimeRange...
Web API,具体说就是为我们写好的网站内容开发出可供第三方使用的API接口。书中提到了一个概念:REST(Representational State Transfer)——表现层状态转移。这是一种Web服务架构。它具有6个特征:客户端-服务器无状态缓存接口统一系统分层按需代码1. REST API1.1 资源资源是 REST 架构方式的核心概念。在 REST 架构中,资源是程序中你要着重关注...
今天,我想和大家谈谈前端人的职场发展。先问大家一个问题,“作为一名前端,你有没有想过可能会面临的职场困境?” 我发现,很多有技术追求、有热情的工程师,因为技术敏感度和主...
android系统在8.0以后Service无法正常使用,在低版本上面不会出现问题,这是因为在后台中运行的服务会消耗设备资源,这可能降低用户体验。 为了缓解这一问题,系统对这些服务施加了一些限制。系统可以区分 前台 和 后台 应用。(用于服务限制目的的后台定义与内存管理使用的定义不同;一个应用按照内存管理的定义可能处于后台,但按照能够启动服务的定义又处于前台。)如果满足以下任意条件,应用将被视为...
很多人需要编写基于MFC的上位机程序,而这类程序首先要解决的就是网络通信的问题,这里也抽出一点时间写了一个简单的额范例,如果你的需求是如下几幅图片所示(这里用TCP调试助手模拟下位机,以便更清楚的看到我们发的信息),那么不妨可以下载下来看一看,程序的代码已经给了非常详细的注释,这里不再赘述,只放一些核心代码:这里附上程序的下载地址,自己手工 码的程序,收一点点豆子,核心代码我也直接附出来:程序下载...
HK32F0303MF4P6最小系统板(测试版)总共引出接口最大时钟频率——32M4路ADC通道三个空闲GPIO一个USART两个定时器通道一个I2C使用SWD下载hex这个测试版,只是自己用来学习国产芯片画的,因此开源处理,如果需要PCB、原理图、BOOM表,请联系我。PCB截图...
第一问直接跑最大流.然后将所有边再加一次,费用为扩容费用,容量为k,再从一个超级源点连一条容量为k,费用为0的边到原源点,从原汇点连一条同样的边到超级汇点,然 后跑最小费用最大流就OK了.------------------------------------------------------------------------------------#include<cstdio>...
页面有三个选项卡,datagrid在第三个选项卡中,初始化时,第三个选项卡display:none ,加载数据或表头时,datagrid数据或表头不显示。如果初始化时,第三个选项卡不设置隐藏(display:block或display:‘ ’),则datagrid数据正常显示,解决方法为:在js中,显示当前div的时候,执行这条代码$("#tableid").datagrid("resiz
因为做了一个系统,需要一个天气插件,选了很久,觉得中国天气这个插件里面的样式各方面都比较好看,需要什么样式都可以选择,输入名称就可以得到代码。类似下面截图然后把得到的这段代码放到你写的vue项目中去。然后在你想要展示天气样式的页面里放如下代码。然后就会得到你想要的天气样式,如下图这样就可以了!...
睡眠模式是一个电脑低能耗的状态,随时可以唤醒电脑,很多用户在使用win10电脑时都会用到这一功能,不过有近日有网友却遇到了win10电脑睡眠变关机的情况,win10睡眠变自动关机怎么办?其实出现这一问题的原因是是由于更新补丁导致的,下面小编分享关于win10睡眠变自动关机的处理方法。win10睡眠变自动关机怎么办1、首先搜索服务并打开,如下图;2、在服务列表中找到“Windows Update”一...
我们一直迷惹为什么我们放在web-inf/classes和web-in/lib下的类和包怎会被tomcat找到执行,这也是我们为什么常常把自己项目开发的类和第三方包放在这两个地方,以前我们一直认为java只从classpath中加载类,或者dir.ext中加载类及lib中加载系统类包。但是tomcat是否有自己的加载方式,比如,tomcat能加载自己目下的核心类包,tomcat的核心类包放...
1.对发送的数据进行 gzip压缩 、Base64.encode编码、URLEncoder.encode编码,最后再进行http传输数据 源数据 --> gzip压缩 --> Base64.encode编码 --> URLEncoder.encode编码 --> http传输数据2.对http接收到的数据进行 URLDecoder.decode解码、B...