示例#1
0
        /// <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);
        }
示例#2
0
 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);
 }