private void button1_Click(object sender, EventArgs e) { ListenTimer.Tick += new EventHandler(ServerT_Tick); ListenTimer.Enabled = true; ListenTimer.Interval = 5000; //执行间隔时间,单位为毫秒; 这里实际间隔为10分钟 ListenTimer.Start(); }
private void btnStartListen_Click(object sender, EventArgs e) { if (!listenBool) {//启动监听 ListenTimer.Tick += new EventHandler(T_Tick); ListenTimer.Enabled = true; ListenTimer.Interval = 5000; //执行间隔时间,单位为毫秒; 这里实际间隔为10分钟 ListenTimer.Start(); } }
public Form1() { InitializeComponent(); ipHost = Dns.GetHostEntry("localhost"); ipAddr = ipHost.AddressList[0]; ipEndPoint = new IPEndPoint(ipAddr, 10000); // Создаем сокет Tcp/Ip sListener = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp); sListener.Blocking = true; ListenTimer.Enabled = true; ListenTimer.Start(); sListener.Bind(ipEndPoint); sListener.Listen(10); }
private void Listener() { try { Logger.Text += String.Format("Ожидаем соединение через порт {0}", ipEndPoint); Logger.Update(); // Программа приостанавливается, ожидая входящее соединение ListenTimer.Stop(); Socket handler = sListener.Accept(); string data = null; ListenTimer.Start(); // Мы дождались клиента, пытающегося с нами соединиться byte[] bytes = new byte[1024]; int bytesRec = handler.Receive(bytes); data += Encoding.UTF8.GetString(bytes, 0, bytesRec); // Показываем данные на консоли Logger.Text += String.Format("Полученный текст: " + data + "\n\n"); Logger.Update(); // Отправляем ответ клиенту\ string reply = "Спасибо за запрос в " + data.Length.ToString() + " символов"; byte[] msg = Encoding.UTF8.GetBytes(reply); handler.Send(msg); if (data.IndexOf("<TheEnd>") > -1) { Logger.Update(); Logger.Text += String.Format("Сервер завершил соединение с клиентом."); } handler.Shutdown(SocketShutdown.Both); handler.Close(); } catch (Exception ex) { Logger.Text += String.Format(ex.ToString()); } }