winform下UPD通信的简单应用
来源:互联网 发布:女高中生知乎 编辑:程序博客网 时间:2024/06/01 10:28
先看效果图:
使用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通信的简单应用
- ubuntu10.10下的upd通信(server,client)
- upd简单广播例子
- winform操作excel表格的简单应用
- java中UPD的一个简单的例子
- ip,icmp,tcp,upd,ftp的简单含义
- upd通信代码-windows版
- upd通信代码-linux版本
- upd通信代码-windows版
- upd通信代码-linux版本
- C++ UPD 通信示例代码
- WinForm下正则表达式的应用
- 实现winform下的简单截图
- upd
- upd
- 简单的ICE通信应用-Hello World
- Hibernate 调用函数及过程
- UTF-8规范
- 获取子窗口句柄EnumChildWindows的威力
- Spring从菜鸟到高手(一)实现AOP的基本原理
- Faster Datanodes with less wait io using df instead of du
- winform下UPD通信的简单应用
- Spring从菜鸟到高手(二)AOP的真正实现
- 常见加密算法分,用途,原理以及比较
- Spring从菜鸟到高手(三)依赖注入
- 常见加密算法分类
- Ubuntu 12.04 编译内核步骤 + Fedora 10 编译内核步骤(图)
- SSL算法库的理解与测试
- 现实迷途 第二十五章 重见故人
- mysql替换语句 部分替换