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