示例#1
0
 public void TcpSend(UIInput input)
 {
     if (server != null)
     {
         server.SendAll(input.value);
         input.value = "";
     }
 }
示例#2
0
 void server_DatagramReceived(object sender, ReceivedEventArgs <byte[]> e)
 {
     try
     {
         var value   = e.TcpClient;
         var key     = value.Client.RemoteEndPoint.ToString();
         var message = new Message(e.Datagram);
         message.Sender = key;
         var datas = message.ToByte();
         //var data = ByteHelper.AppendFrom(e.Datagram,key);
         Console.Write(string.Format("{1} {0} -> {2} byte"
                                     , key, DateTime.Now.ToString("hh:mm:ss"), datas.Length));
         server.SendAll(datas);
         Console.WriteLine(" -> ok.");
     }
     catch (Exception ex)
     {
         Console.WriteLine(" -> server.receive.error.");
         Console.WriteLine(ex.Message);
     }
 }
示例#3
0
 public void CloseServer()
 {
     if (tcpServer != null && isTcpStart)
     {
         tcpServer.SendAll(NetworkCommand.EXIT);
         tcpServer.DataReceived -= Server_DataReceived;
         tcpServer.Dispose();
         heartBeat.Abort();
         checkHeartBeat.Abort();
         isTcpStart = false;
         tcpServer  = null;
     }
     clientDic.Clear();
     if (studentDic.Count > 0)
     {
         List <string> itemList = new List <string>(studentDic.Keys);
         foreach (var item in itemList)
         {
             studentDic[item] = null;
             studentDic.Remove(item);
         }
     }
     studentDic.Clear();
 }
示例#4
0
        private static List <TcpClient[]> battleList = new List <TcpClient[]>();                         //对战列表

        static void Main(string[] args)
        {
            server          = new AsyncTcpServer(8088);
            server.Encoding = Encoding.UTF8;
            //注册事件
            server.ClientConnected +=
                new EventHandler <TcpClientConnectedEventArgs>(server_ClientConnected);
            server.ClientDisconnected +=
                new EventHandler <TcpClientDisconnectedEventArgs>(server_ClientDisconnected);
            server.DatagramReceived +=
                new EventHandler <TcpDatagramReceivedEventArgs <byte[]> >(server_DatagramReceived);
            server.Start();
            Console.WriteLine("TCP server has been started.");
            Console.WriteLine("Type something to send to client...");
            while (true)
            {
                string text = Console.ReadLine();
                server.SendAll(text);
            }
        }
示例#5
0
        private void Gocator_OnDataReceivedEvent(object sender, object e)
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();
            List <TopBottomSurface> rawDataSet = (List <TopBottomSurface>)e;

            foreach (var item in rawDataSet)
            {
                //save to surface
                Surface topSurface = new Surface(gocator.mContextTop.Width, gocator.mContextTop.Height, item.TopSurfaceData);
                SurfaceConvert.ScaleSurface(ref topSurface, gocator.mContextTop);
                Surface bottomSurface = new Surface(gocator.mContextBottom.Width, gocator.mContextBottom.Height, item.BottomSurfaceData);
                SurfaceConvert.ScaleSurface(ref bottomSurface, gocator.mContextBottom);
                TopDepthImage        = ImageConvert.ZValueToDepthImage(item.TopSurfaceData, gocator.mContextTop);
                BottomDepthImage     = ImageConvert.ZValueToDepthImage(item.BottomSurfaceData, gocator.mContextBottom);
                TopIntensityImage    = ImageConvert.ByteToIntensityBitmap(item.TopSurfaceIntensityData, gocator.mContextTop);
                BottomIntensityImage = ImageConvert.ByteToIntensityBitmap(item.BottomSurfaceIntensityData, gocator.mContextBottom);

                AVLRun(topSurface, bottomSurface, TopDepthImage, BottomDepthImage, TopIntensityImage, BottomIntensityImage);

                server.SendAll("-1000");
                sw.Stop();
                Logger($"{sw.ElapsedMilliseconds}");
                Logger("Send Data to Client -1000");

                string timeStamp = DateTime.Now.ToString("yyyyMMddHHmmssfff");
                string generateSurfaceTopName = $"{ConfigPath.ImageDataPathTop}TopSurface{timeStamp}.avdata";
                AVL.SaveSurface(topSurface, generateSurfaceTopName);
                string generateSurfaceBottomName = $"{ConfigPath.ImageDataPathBottom}BottomSurface{timeStamp}.avdata";
                AVL.SaveSurface(bottomSurface, generateSurfaceBottomName);
            }
            Logger("Surface data saved");

            //gocator.StartAcq();
        }