/// <summary> /// 窗体加载事件 /// </summary> private void MainForm_Load(object sender, EventArgs e) { _sender = new Sender(user.UserName); receiver = new Receiver(); if (_sender.Init()) { Console.WriteLine("客户端连接服务器初始化完成!"); } else { Console.WriteLine("失败"); } UdpReceiver.CallBackDelegate opCallBack = callBack; UdpReceiver.CallBackConsoleDelegate consoleCallBack = formConsoleCallBack; receiverThread = new Thread(() => { receiver.StartListenning(opCallBack, consoleCallBack); }); receiverThread.IsBackground = true; Thread.Sleep(1000); receiverThread.Start(); UdpMessage udpMessage = new UdpMessage("Connect", user.UserName); System.Threading.Timer timer = new System.Threading.Timer( (obj) => { _sender.Send((UdpMessage)obj); }, udpMessage, 1000, 10000); }
public void StartListenning() { UdpReceiver.CallBackWithIPDelegate opCallBack = ServerStartListener; UdpReceiver.CallBackConsoleDelegate consoleCallBack = formConsoleCallBack; receiverThread = new Thread(() => { receiver.StartListenning(opCallBack, consoleCallBack); }); receiverThread.IsBackground = true; Thread.Sleep(1000); receiverThread.Start(); Timer timer = new Timer( (obj) => { if (!((Thread)obj).IsAlive) { obj = new Thread(() => { receiver.StartListenning(opCallBack, consoleCallBack); }); } }, receiverThread, 1000, 10000); }