示例#1
0
        /// <summary>
        /// 发送服务信息线程入口
        /// </summary>
        private void SendServiceInfos()
        {
            while (true)
            {
                var serviceNames = (from object item in lbMonitorService.Items select item.ToString()).ToList();
                var serviceInfos = WinServHelper.GetServiceInfos(serviceNames);
                var sendData     = WinServHelper.GetBytesFromServiceInfos(serviceInfos);
                tcpServer.SendToAll(sendData);

                Thread.Sleep(1000);
            }
            // ReSharper disable once FunctionNeverReturns
        }
示例#2
0
        private void WritePayload(byte[] payload)
        {
            string payloadHeader = this.PayloadHeader.Replace(_contentLengthString, payload.Length.ToString());
            string payloadTail   = "\r\n";

            Logger.Debug(string.Format(CultureInfo.InvariantCulture,
                                       "Writing payload header, {0}{1}", Environment.NewLine, payloadHeader));

            byte[] payloadHeaderBytes = _server.Encoding.GetBytes(payloadHeader);
            byte[] payloadTailBytes   = _server.Encoding.GetBytes(payloadTail);
            byte[] packet             = new byte[payloadHeaderBytes.Length + payload.Length + payloadTail.Length];
            Buffer.BlockCopy(payloadHeaderBytes, 0, packet, 0, payloadHeaderBytes.Length);
            Buffer.BlockCopy(payload, 0, packet, payloadHeaderBytes.Length, payload.Length);
            Buffer.BlockCopy(payloadTailBytes, 0, packet, payloadHeaderBytes.Length + payload.Length, payloadTailBytes.Length);

            _server.SendToAll(packet);
        }
示例#3
0
        static void Main(string[] args)
        {
            LogFactory.Assign(new ConsoleLogFactory());

            server                     = new AsyncTcpServer(9999);
            server.Encoding            = Encoding.UTF8;
            server.ClientConnected    += new EventHandler <TcpClientConnectedEventArgs>(server_ClientConnected);
            server.ClientDisconnected += new EventHandler <TcpClientDisconnectedEventArgs>(server_ClientDisconnected);
            server.PlaintextReceived  += new EventHandler <TcpDatagramReceivedEventArgs <string> >(server_PlaintextReceived);
            server.Start();

            Console.WriteLine("TCP server has been started.");
            Console.WriteLine("Type something to send to client...");
            while (true)
            {
                string text = Console.ReadLine();
                server.SendToAll(text);
            }
        }