Ejemplo n.º 1
0
 public ScreenTcpServer(int port, int bufferSize = 8192, bool useIPv6 = false)
 {
     server                = new AsyncSocketTcpServer(port, bufferSize, useIPv6);
     server.Connected     += Server_Connected;
     server.Disconnected  += Server_Disconnected;
     server.DataReceived  += Server_DataReceived;
     server.DataSent      += Server_DataSent;
     server.ErrorOccurred += Server_ErrorOccurred;
     server.Started       += Server_Started;
     server.Stopped       += Server_Stopped;
     this.serverPort       = port;
 }
Ejemplo n.º 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();
        }