C#局域网内UDP广播获取获取JSON数据并解析

来源:互联网 发布:scala java 混合 编辑:程序博客网 时间:2024/05/27 16:43
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json.Linq;//JObject的引用 using System.Net;using System.Net.Sockets;//Socket的引用namespace Demo10{    class Program    {        static void Main(string[] args)        {            //string hostname = Dns.GetHostName();//获取主机名            //System.Net.IPAddress[] ListIP = Dns.GetHostAddresses(hostname);//获取主机信息列表            //string LocalIP = ListIP[1].ToString();//获取主机IP            UdpClient udpClient = new UdpClient();//实例化UDP套接字            IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("255.255.255.255"), 8990);//定义UDP连接对象            string sendString = "!{\"arg\":\"*\",\"nodeid\":\"*\",\"opcode\":\"FIND_CCU\",\"requester\":\"LS_CCU\"}$";//通信的交互数据            byte[] sendData = Encoding.Default.GetBytes(sendString);//数据的编码转化            udpClient.Send(sendData, sendData.Length, ipEndPoint);//数据发送            for (int i = 1; i <= 10; i++)//一个Client多个Server返回的循环处理            {                byte[] recvDataByte = udpClient.Receive(ref ipEndPoint);                string recvData = Encoding.Default.GetString(recvDataByte);                recvData = recvData.Replace("\n", "");                recvData = recvData.Replace("!", "").Replace("$", "");                JObject ObjJson = JObject.Parse(recvData);                Console.WriteLine(ObjJson["arg"]["ip"]);            }            Console.ReadLine();        }    }}

1 0
原创粉丝点击