首页 > 其他分享 >UDP服务端客户端

UDP服务端客户端

时间:2022-10-03 23:01:58浏览次数:50  
标签:ShowLog UDP Text System udpServ using null 服务端 客户端

​下载​

界面:

UDP服务端客户端_服务端

代码:form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace udpClient
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void ShowLog(string msg)
{
txtMsg.Text += msg + "\r\n";
}
UdpClient udpServ = null;
bool bsrvRun = false;
private void btnOpen_Click(object sender, EventArgs e)
{
if(udpServ==null)
{
int udpPort = 0;
if (!int.TryParse(txtSeverPort.Text, out udpPort))
{
MessageBox.Show("端口必须为数字");
return;
}
udpServ = new UdpClient(udpPort, AddressFamily.InterNetwork);
bsrvRun = true;
ReceiveMessage();
btnOpen.Enabled = false;
ShowLog("UDP服务端启动监听端口"+ txtSeverPort.Text);
}
}

private async void ReceiveMessage()
{
while (bsrvRun)
{
if (udpServ == null)
return;

try
{
UdpReceiveResult udpReceiveResult = await udpServ.ReceiveAsync();
string remoteip = udpReceiveResult.RemoteEndPoint.Address.ToString();

string message = Encoding.UTF8.GetString(udpReceiveResult.Buffer);
ShowLog("接收到"+ remoteip + "的Udp数据:" + message);
}
catch (Exception ex)
{
ShowLog("UDP客户端发生异常ReceiveMessage:" + ex.Message);
}
}
}

private void btnCloseSv_Click(object sender, EventArgs e)
{
bsrvRun = false;
if (udpServ == null)
return;

try
{
udpServ.Client.Shutdown(SocketShutdown.Both);
udpServ.Close();
udpServ = null;
}
catch
{
}
ShowLog("UDP服务端已关闭");
}

UdpClient udpCl = null;
private async void btnSend_Click(object sender, EventArgs e)
{
if(udpCl==null)
udpCl = new UdpClient(0, AddressFamily.InterNetwork);

byte[] buffer = Encoding.UTF8.GetBytes(txtSendData.Text);
await udpCl.SendAsync(buffer, buffer.Length, new IPEndPoint(IPAddress.Parse(txtRemotIP.Text), int.Parse(txtRemotPort.Text)));
ShowLog(string.Format("向服务端{0}:{1}发送UDP包:{2}", txtRemotIP.Text, txtRemotPort.Text, txtSendData.Text));
}
}
}

 


标签:ShowLog,UDP,Text,System,udpServ,using,null,服务端,客户端
From: https://blog.51cto.com/u_12303347/5730603

相关文章

  • java网络编程--4 UDP
    java网络编程--4UDP1.7、UDP发短信:不用连接,但是需要知道对方的地址主要包含两个类:DatagramPacket和DatagramSocket发送消息发送端:packagecom.ssl.lesson03;im......
  • java网络编程--2 IP,端口,通信协议,TCP/UDP对比
    java网络编程--2IP,端口,通信协议,TCP/UDP对比1.3、IPip地址:InetAddress唯一定位一台网络上的计算机127.0.0.1:本机localhostIP地址的分类ipv4/ipv6IPV4......
  • C#(一沙框架) .net core3.1 SignalR 服务端推送消息至客户端的实现方法,用弹窗插件进行显
    C#(一沙框架).netcore3.1SignalR服务端推送消息至客户端的实现方法,用弹窗插件进行显示,非常美观实用运行效果:1、安装Microsoft.AspNetCore.SignalR(安装方法自行百度)2、引入......
  • TCP和UDP区别是什么?
    udp协议全称用户数据报协议,在网络中和tcp协议一样用户处理数据包,是一种无连接协议,它有不提供数据包分组,组装不能对数据包进行排序的缺点,因此报文发送后不能判断是否......
  • TCP与UDP的联系与区别
      今天我准备要写的是一些关于TCP与UDP的区别,在进行对两者的讨论之前,我们首先要了解TCP和UDP分别是什么? TCP与UDP是TCP/IP的传输层里面的两种主要协议,他们都基于相......
  • 拼接Json数据可以直接提交到AB框架Rest服务端(主从表)
    //=============================================================================== let_this=this letsalesorderdata=_this.params _this.salesorder.a......
  • TCP和UDP的联系与区别
    TCP和UDP的定义1、TCP传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、基于字节流的为不可靠的互联网络提供可靠的端到端字节流而专门设计的传输层......
  • TCP和UDP的区别
    UDP:UDP与TCP的主要区别在于UDP不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDP在许多方面非常有效。当某个程序的目标是尽快地传输......
  • 【精品】Intellij 中使用 HTTP客户端 测试API
    前提在Intellij中使用HTTP客户端测试API,首先需要开始**httpclient**插件。语法如果要添加JSON参数的请求头,只需添加Content-Type标头和请求正文同一文件中的多个......
  • Docker部署服务器性能实时监测工具WGCLOUD服务端server
    1.首先下载WGCLOUD(Linux版本)我们在本文里使用docker部署server端进行说明,agent不需要docker来部署​官网下载地址:​​http://www.wgstart.com/​​ 2.解压到/wgcloudDocker......