using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Windows.Forms; namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
UdpClient client = new UdpClient();
public Form1()
{
CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
Thread recvThread = new Thread(RecvMsg);
recvThread.IsBackground = true;
recvThread.Start();
} private void button1_Click(object sender, EventArgs e)
{
string ip = textBox1.Text.Trim();
string port = textBox2.Text.Trim();
if (ip == null || port == null)
{
return;
}
IPEndPoint host = new IPEndPoint(IPAddress.Parse(ip),Convert.ToInt32(port)); client.Connect(host);
richTextBox1.Text = "已连接\n";
textBox1.Enabled = false;
textBox2.Enabled = false;
button1.Enabled = false;
} private void button2_Click(object sender, EventArgs e)
{
if (client == null)
{
return;
}
string content = richTextBox2.Text.Trim();
if (content == "" || content == null)
{
return;
}
byte[] buff = Encoding.UTF8.GetBytes(content);
int v = client.Send(buff,buff.Length);
richTextBox1.Text += content + "\n";
richTextBox2.Text = null;
} UdpClient recvClient = new UdpClient(new IPEndPoint(IPAddress.Parse("192.168.1.237"),40477));//接收方的IP
private void RecvMsg()
{
while (1==1)
{
IPEndPoint remoteHost = null;
byte[] recvByte = recvClient.Receive(ref remoteHost);
string msg = Encoding.UTF8.GetString(recvByte);
richTextBox1.Text += msg+"\n";
}
}
}
}

  界面以及结果:

C# WinForm UDP 发送和接收消息的更多相关文章

  1. ROS_Kinetic_26 使用rosserial_windows实现windows与ROS master发送与接收消息

    使用rosserial_windows实现windows与ROS master发送与接收消息(适用版本hydro,indigo,jade,kinetic) 官方wiki地址汇总请参考:http://b ...

  2. ActiveMQ实例1--简单的发送和接收消息

    一.环境准备 1,官网http://activemq.apache.org/下载最新版本的ActiveMQ,并解压 2,打开对应的目录,在Mac环境下,一般可以运行命令: cd /Users/***/ ...

  3. (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误

    一个困扰我两天的问题, Google和Baidu没有找到解决方法! 此文为记录这个问题,并给出原因和解决方法. 1.Unix domain socket简介 unix域协议并不是一个实际的协议族,而是 ...

  4. ActiveMQ 发送和接收消息

    一.添加 jar 包 <dependency> <groupId>org.apache.activemq</groupId> <artifactId>a ...

  5. rabbitMQ学习笔记(二) 简单的发送与接收消息 HelloWorld

    首先要下载rabbitmq的javaClient库,然后加入到项目中,下载地址为:http://www.rabbitmq.com/releases/rabbitmq-java-client/v3.1. ...

  6. C# UDP发送和接收

    using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...

  7. Linux系统下UDP发送和接收广播消息小例子

    // 发送端 #include <iostream> #include <stdio.h> #include <sys/socket.h> #include < ...

  8. Linux系统下UDP发送和接收广播消息小样例

    [cpp] view plaincopy // 发送端 #include <iostream> #include <stdio.h> #include <sys/sock ...

  9. UDP发送和接收

    发送函数 public bool udpSend(string ip, int port, byte[] data) { Socket socket = new Socket(AddressFamil ...

随机推荐

  1. python机器学习的开发流程

    标准机器学习的开发编程流程 关注公众号"轻松学编程"了解更多. 一.流程 标准机器学习的开发编程流程: 1.获取数据(爬虫.数据加载.业务部门获取) 2.数据建模(摘选样本数据(特 ...

  2. 文件流转blob并播放

    axios 这里是请求了个mp3做例子: this.$axios({ methods:"GET", url:"/api/music/soures/双笙.mp3" ...

  3. SAP S/4HANA 2020安装实录

    欢迎关注微信公众号:sap_gui (ERP咨询顾问之家) 今天开始试着安装SAP S/4HANA 2020版本,也是目前SAP ERP最高的版本,总安装文件大小大概50GB,数据库版本必须是HANA ...

  4. 深入IOC及其启动原理

    IOC总结 1. IOC概述 三个问题: IOC是什么 为什么用它 怎么用 1.1 是什么? 两个概念:控制反转,依赖注入 来看一下传统的干活方式:在对象单一职责原则的基础上,一个对象很少有不依赖其他 ...

  5. 【老孟Flutter】6种极大提升Flutter开发效率的工具包

    老孟导读:本文介绍6种极大提升Flutter开发效率的工具包. [1] 强大的日志软件包 在开发 Flutter 的过程中打印日志是常用的调试方式之一,但 Flutter 内置的日志打印非常简单,下面 ...

  6. vscode搭建c++环境

    第一步:下载 Vs Code 点击链接下载Vs Code 下载版本  并安装 https://code.visualstudio.com/ 点击 Download for Windwos 安装时  如 ...

  7. 10before_request钩子函数

    1,什么是钩子函数? 就是运行别人前都得先运行他: from flask import Flask app = Flask(__name__) @app.route('/') def hello_wo ...

  8. 斯福赛特:中了.Devos勒索病毒。所有文件被加密了,如何解密解决?

    什么是.devos勒索病毒? 也称为DHARMA勒索软件1,它通过加密文件并要求支付赎金以恢复对文件的访问来修改您的文件. DHARMA勒索软件通过名为.devos的新加密病毒再次活跃.该特定的病毒家 ...

  9. linux netfilter rule match target 数据结构

    对于netfilter 可以参考 https://netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO-3.html netfilter ...

  10. Android studio设置参数文档提示

    方法/步骤     进行点击Android studio菜单中的file的选项菜单.   弹出了下拉菜单中进行选择为"settings"的选项的菜单即可.   进入到了settin ...