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.Threading;
using System.Net;
using System.Net.Sockets;
namespace udp
{
public partial class Form1 : Form
{
IPEndPoint udpPoint;
UdpClient udpClient;
IPEndPoint senderPoint;
bool r_Busy;
Thread r_ConnectionThread;
string msg, str1="";//通讯用
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//配置通讯参数
try
{
//己方IP和端口号
udpPoint = new IPEndPoint(IPAddress.Parse("192.168.0.111"), 8002);
udpClient = new UdpClient(udpPoint);
//接收方的IP地址和端口号
senderPoint = new IPEndPoint(IPAddress.Parse("192.168.0.10"), 8001);
//开启接收事件
r_Busy = true;
r_ConnectionThread = new Thread(new ThreadStart(ReceiveMessage));
r_ConnectionThread.Start();
}
catch (Exception)
{
}
}
//发送数据
private void ycSenddata(string datas)
{
try
{
while (str1 != "")
{
Thread.Sleep(5);
}
str1 = datas;
byte[] sendData = Encoding.Default.GetBytes(str1);
udpClient.Send(sendData, sendData.Length, senderPoint);
// Thread.Sleep(100);
str1 = "";
}
catch (Exception ex)
{
//MessageBox.Show("发送数据失败");
}
{
while (r_Busy == true)
{
byte[] recvData = udpClient.Receive(ref senderPoint);
string msg = Encoding.Default.GetString(recvData);
str1 = "";
switch (msg)
{
case "#D20":
break;
case "#D21":
break;
}
this.Invoke(new EventHandler(delegate
{
List_messagebox.Items.Add(msg);
if (List_messagebox.Items.Count > 1000)
{
List_messagebox.Items.Clear();
}
}));
}
}
private void button2_Click(object sender, EventArgs e)
{
ycSenddata(textBox1.Text + "\r\n");
}
}
}
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.Threading;
using System.Net;
using System.Net.Sockets;
namespace udp
{
public partial class Form1 : Form
{
IPEndPoint udpPoint;
UdpClient udpClient;
IPEndPoint senderPoint;
bool r_Busy;
Thread r_ConnectionThread;
string msg, str1="";//通讯用
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//配置通讯参数
try
{
//己方IP和端口号
udpPoint = new IPEndPoint(IPAddress.Parse("192.168.0.111"), 8002);
udpClient = new UdpClient(udpPoint);
//接收方的IP地址和端口号
senderPoint = new IPEndPoint(IPAddress.Parse("192.168.0.10"), 8001);
//开启接收事件
r_Busy = true;
r_ConnectionThread = new Thread(new ThreadStart(ReceiveMessage));
r_ConnectionThread.Start();
}
catch (Exception)
{
}
}
//发送数据
private void ycSenddata(string datas)
{
try
{
while (str1 != "")
{
Thread.Sleep(5);
}
str1 = datas;
byte[] sendData = Encoding.Default.GetBytes(str1);
udpClient.Send(sendData, sendData.Length, senderPoint);
// Thread.Sleep(100);
str1 = "";
}
catch (Exception ex)
{
//MessageBox.Show("发送数据失败");
}
}
//接收处理函数
private void ReceiveMessage(){
while (r_Busy == true)
{
byte[] recvData = udpClient.Receive(ref senderPoint);
string msg = Encoding.Default.GetString(recvData);
str1 = "";
switch (msg)
{
case "#D20":
break;
case "#D21":
break;
}
this.Invoke(new EventHandler(delegate
{
List_messagebox.Items.Add(msg);
if (List_messagebox.Items.Count > 1000)
{
List_messagebox.Items.Clear();
}
}));
}
}
private void button2_Click(object sender, EventArgs e)
{
ycSenddata(textBox1.Text + "\r\n");
}
}
}