读书人

C#UDP从搬动端发送到电脑端接收后

发布时间: 2013-11-23 10:52:51 作者: rapoo

C#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;
using System.Net.Sockets;
using System.Threading;
using System.IO;
using System.Xml;

namespace UDPTest2_2
{
public partial class Form1 : Form
{
Thread thread;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
Form1.CheckForIllegalCrossThreadCalls = false; //不可在多线程中使用
thread = new Thread(new ThreadStart(ReceiveDataFromUDPClient)); //调用类
thread.IsBackground = true; //是否结束线程
thread.Start(); //开始运行
}
public void ReceiveDataFromUDPClient()
{
try{
while (true)
{
XmlDocument doc = new XmlDocument(); //调用XML
doc.Load("XMLFile1.xml"); //指定Xml文件路径
XmlNode node; //读取节点
node = doc.SelectSingleNode("//Config/SvcInfo/SvcPort/text()"); //读取XML节点
string svcPort = node.Value; //定义节点数值
if (svcPort.Length > 0) //当对象>0时,执行程序
{
UdpClient udpClient = new UdpClient(int.Parse(svcPort)); //实例化一个对象
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, int.Parse(svcPort)); //获得从主机返回的Udp数据
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint); //获得服务器端的数据
string returnData = Encoding.Default.GetString(receiveBytes); //获得相应主机的ip和port
textBox1.Text = DateTime.Now + "时:" + returnData.ToString(); //显示日期和接收到的数据
udpClient.Close();
}
//关闭UDP连接
}
}
catch(Exception y)
{
MessageBox.Show(y.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{


this.Close();
}

}
}

c# udp
[解决办法]
监控你的文件夹的情况。
http://msdn.microsoft.com/zh-cn/library/system.io.filesystemwatcher.aspx
[解决办法]
引用:
那些都会,但是在UDP下,不好弄,你看清楚我问什么没?


前边大家的解释以为你明白了,你需要的是一个触发机制,你的需求是当文件改变时,向客户端发送套接字。
也就是先触发事件、再UDP发送,不要一锅端啊。

读书人网 >C#

热点推荐