/// <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 }
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); }
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); } }