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. C# NModbus RTU通信实现

    Modbus协议时应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间.控制器经由网络/串口和其它设备之间可以进行通信.它已经成为了一种工业标准.有了这个通信协议,不同的厂商生成的控制设备就可 ...

  2. MYSQL字段

    这里我的测试环境是wampserver 选择数据库 选择表 或者创建数据库和表 SHOW DATABASES; 查看数据库 CREATE DATABASE 数据库名; 创建数据库 在 MySQL 中, ...

  3. 剑指29:最小的k个数

    题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. class Solution {public:    vector& ...

  4. 理解js参数

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...

  5. Tensorflow学习---argmax中axis问题

    一:argmax中axis问题 https://blog.csdn.net/qq575379110/article/details/70538051/ 总之:axis=0/1不是行/列关系 test ...

  6. MySQL全面瓦解9:查询的排序、分页相关

    概述 数据库中的数据直接呈现出来一般不是我们想要的,所以我们上两节演示了如何对数据进行过滤的方法.除了对数据进行过滤, 我们可能还需要对数据进行排序,比如想从列表中了解消费最高的项,就可能需要对金额字 ...

  7. Spider--补充--Re模块_1

    # @ Author : Collin_PXY # 正则表达式: import re # 1,分步写法: # 1)rule.search(string) pattern='各小区' rule=re.c ...

  8. mysql优化之2--索引优化

    1. 创建联合索引时,要注意,离散度大的列前置. 可以通过 select count(distinct(A)),count(distinct(B)) from tb; 看哪个列离散度大. 2. 索引列 ...

  9. typora 图片存储在COS

    背景 一直在使用的markdown编辑器:typora ,在其内部图片默认是存储在本机C盘中的,现想将图片方放到云端存储,节省存储空间 方法 将typora中的图片上传到腾讯云的COS中 参考:链接  ...

  10. bluestore的osd自启动

    前言 自启动相关的文章很多,有分析的很详细的文章,这里就不做赘述,本篇讲述的是什么情况下用,怎么用的问题 使用场景 一台机器的系统盘坏了,需要重装系统,相关的一些信息没有了,但是上面的数据盘还是在的, ...