(转)winform下UPD通信的简单应用
2014-08-18 11:48
176 查看
本文转载自:http://blog.csdn.net/wanlong360599336/article/details/7557046
先看效果图:
使用UDP的好处就是不需要三次握手,但是缺点就是存在安全隐患。
QQ就是利用UDP来传输数据的。
自己理解下。
先看效果图:
使用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("发送成功!"); } } } }
自己理解下。
相关文章推荐
- winform下UPD通信的简单应用
- winform下Socket通信的简单应用
- winform下TCP通信的简单应用
- (转)winform下TCP通信的简单应用
- 【Cocos2d-x】 HttpClient 网络通信(Http)的简单应用
- 简单的ICE通信应用-Hello World
- 驱动与应用层简单消息通信
- winform程序之人员选择listbox控件应用了一点arraylist(简单)
- 关于socket用winform实现简单通信 大牛可绕道 初学者可以看看 我做的时候把客户端窗口隐藏了 大家可以自己改一下
- winform程序之comboBox控件应用四则运算(简单)
- 【Cocos2d-x】 HttpClient 网络通信(Http)的简单应用
- 使用WebSocket进行通信的简单应用
- P2P简单应用之通信协议介绍
- 实现采用客户/服务器通信模式,基于TCP网络通信协议的多客户端简单应用之案例分析
- WCF简单案例和WCF应用的通信过程
- C# winform使用redis完成简单通信
- winform程序之录入删除显示人员应用了一点arraylist(简单)
- winform程序之comboBox控件下拉列表的应用(简单)
- <winform>简单应用控件
- 实现采用客户/服务器通信模式,基于TCP网络通信协议的多客户端简单应用