示例#1
0
 /// <summary>
 /// 向客户端发送瓶签信息
 /// </summary>
 /// <param name="displayData"></param>
 /// <returns></returns>
 public bool Send(string displayData)
 {
     try
     {
         //这里直接用sessionId,是因只有一个客户端进行连接屏;同时发送加分包符
         return(server.Send(this.sessionId, Encoding.Default.GetBytes(displayData + StaticDictionary.SPLITTER)));
     }
     catch (Exception ex)
     {
         InternalLogger.Log.Info(String.Format("{0}:{1}[SessionId={2}]发送数据出错{3}。",
                                               this.currentClient == null ? null : currentClient.Address,
                                               this.currentClient == null ? 0 : currentClient.Port,
                                               this.sessionId, ex.Message));
     }
     return(false);
 }
示例#2
0
        static bool exit             = false; //标记退出while

        static void Main(string[] args)
        {
            tcpServer = new AsyncSocketTcpServer(5003);
            tcpServer.DataReceived  += tcpServer_DataReceived;
            tcpServer.Connected     += tcpServer_Connected;
            tcpServer.DataSent      += tcpServer_DataSent;
            tcpServer.Disconnected  += tcpServer_Disconnected;
            tcpServer.ErrorOccurred += tcpServer_ErrorOccurred;
            tcpServer.Started       += tcpServer_Started;
            tcpServer.Stopped       += tcpServer_Stopped;
            tcpServer.Start(false);

            Console.WriteLine("请在30秒内,开启tcpclient测试端,并进行连接");
            (new Thread(() =>
            {
                Thread.Sleep(30000);
                exit = true;
            })).Start();

            do
            {
                Thread.Sleep(700);
                //如果有客户端连接成功,就向客户端发送一个瓶签号
                if (sessionId != -1)
                {
                    tcpServer.Send(sessionId, Encoding.Default.GetBytes("20181028100111"));
                }
            } while (sessionId == -1 && !exit);

            if (sessionId != -1 || exit)
            {
                if (exit)
                {
                    Console.WriteLine("没有任何客户端进行连接,输入输入任意键,关闭程序");
                }
                if (sessionId != -1)
                {
                    Console.WriteLine("服务端已向客户端发送瓶签号,请验证客户端是否收到。输入任意键,关闭程序");
                }
            }
            Console.ReadLine();
        }