C# UDP 接收客户端指令并发送数据

来源:互联网 发布:重生之网络娱乐txt下载 编辑:程序博客网 时间:2024/06/05 07:54
            while (true)            {                Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);                //接受端口,表示从61556号端口接收                      IPEndPoint datasender = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 61556);                //发送端口,表示向61557号端口发送                IPEndPoint ip = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 61557);                EndPoint remote = (EndPoint)datasender;                server.Bind(datasender);                //接收(阻塞状态)                server.ReceiveFrom(data, ref remote);                //udp debug                Console.WriteLine("成功接收数据");                                #region //标定部分                ////采集单幅图像                //HOperatorSet.GrabImage(out hoImage, hvAcqHandle);                ////标定                //try                //{                //    //提取标定板变量                //    HOperatorSet.FindCaltab(hoImage, out hoCalPlate,                //        "caltab200.descr",                //        "gap_tolerance", 1, 3);                //}                //catch (Exception)                //{                //    throw new Exception("未检测到有效标定板");                //}                //try                //{                //    //外参标定                //    HOperatorSet.FindMarksAndPose(hoImage, hoCalPlate,                //        "caltab200.descr",                //         hvCamParam, 250, 8, 2, 0.5, 1, 400, out hvRCoord, out hvCCoord, out hvStartPose);                //}                //catch (Exception)                //{                //    throw new Exception("标定板图像质量不合格");                //}                //hoImage.Dispose();                //hoCalPlate.Dispose();                //Console.WriteLine(hvStartPose.ToString());                #endregion                #region//参数显示部分                //hvStartPoseList = new List<double>();                //for (int i = 0; i <= 6; i++)                //{                //    hvStartPoseList.Add(hvStartPose[i]);                //}                //MyDelegate myDelegate = new MyDelegate(DelegateMethod);                //this.Dispatcher.BeginInvoke(myDelegate, hvStartPoseList);                #endregion                //发送                server.SendTo(Encoding.ASCII.GetBytes(hvStartPose.ToString()), SocketFlags.None, ip);                //释放socket对象,避免二次绑定和关闭现有连接的Bug                server.Close();            }
0 0
原创粉丝点击