首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#UDP,从搬动端发送到电脑端接收后,及时显示图片

2013-11-23 
C#UDP,从移动端发送到电脑端接收后,及时显示图片using Systemusing System.Collections.Genericusing Sy

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发送,不要一锅端啊。

热点排行