首页 > 代码库 > (转)winform下UPD通信的简单应用
(转)winform下UPD通信的简单应用
本文转载自:http://blog.csdn.net/wanlong360599336/article/details/7557046
先看效果图:
使用UDP的好处就是不需要三次握手,但是缺点就是存在安全隐患。
QQ就是利用UDP来传输数据的。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using System.Threading; using System.Net; using System.Net.Sockets; namespace UDP { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //启动服务端 UdpClient udpServer; delegate void SetTextCallBack(string text); private void button1_Click(object sender, EventArgs e) { udpServer = new UdpClient(3000); label2.Text = "服务器已启动.."; button1.Enabled = false; Thread t = new Thread(new ThreadStart(ReceiveMsg)); t.IsBackground = true; t.Start(); } public void ReceiveMsg() { IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 3000); while (true) { byte[] buffer = udpServer.Receive(ref ipe); string msg = Encoding.Unicode.GetString(buffer); SetText(msg); } } public void SetText(string text) { if (text == "") { if (richTextBox1.InvokeRequired) { SetTextCallBack st = new SetTextCallBack(SetText); this.Invoke(st, new object[] { text }); } else { richTextBox1.Text +="小万 " +DateTime.Now.ToString() + "\n" + " " + "\n"; } } else { if (richTextBox1.InvokeRequired) { SetTextCallBack st = new SetTextCallBack(SetText); this.Invoke(st, new object[] { text }); } else { richTextBox1.Text +="小万 " +DateTime.Now.ToString() + "\n" + text + "\n"; } } } //客户端 private void button2_Click(object sender, EventArgs e) { if (button1.Enabled ==true) { MessageBox.Show("服务端未开启!"); } else { UdpClient client = new UdpClient(); string ip = textBox1.Text; string msg = richTextBox2.Text; byte[] buffer = Encoding.Unicode.GetBytes(msg); IPEndPoint ips = new IPEndPoint(IPAddress.Parse(ip), 3000); client.Send(buffer, buffer.Length, ips); client.Close(); MessageBox.Show("发送成功!"); } } } }
自己理解下。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。