Пример #1
0
        private void ReceiveMessage(object clientSocket)
        {
            Socket myClientSocket = (Socket)clientSocket;

            while (true)
            {
                try
                {
                    int receiveNumber = myClientSocket.Receive(result);
                    //Console.WriteLine("接收客户端{0}消息{1}", myClientSocket.RemoteEndPoint.ToString(), Encoding.ASCII.GetString(result, 0, receiveNumber));
                    if (receiveNumber != 0)
                    {
                        IPEndPoint point = (IPEndPoint)myClientSocket.RemoteEndPoint;
                        string     path  = point.Address.ToString();
                        string     port  = Encoding.ASCII.GetString(result, 0, receiveNumber);
                        string     tcp   = "tcp://" + path + ":" + port + "/Up";
                        obs = (TimerCurrent.Class1)Activator.GetObject(typeof(TimerCurrent.Class1), tcp, null);
                        //obs.Update();
                        if (obs is TimerCurrent.Class1 && obs != null)
                        {
                            observers.Add(obs);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    //Ditach(obs);
                    myClientSocket.Shutdown(SocketShutdown.Both);
                    myClientSocket.Close();
                    break;
                }
            }
        }
Пример #2
0
 public virtual void Notify()
 {
     for (int i = 0; i < observers.Count; i++)
     {
         TimerCurrent.Class1 ob = observers[i];
         try
         {
             ob.Update();
         }
         catch (Exception ex)
         {
             //observers.RemoveAt(observers.IndexOf(ob));
             Console.WriteLine(ex.Message);
         }
     }
 }
Пример #3
0
 public Form1()
 {
     InitializeComponent();
     cla = new TimerCurrent.Class1();
     //hello = new setValueEventHandle(setValue);
 }
Пример #4
0
 private void Form1_Load(object sender, EventArgs e)
 {
     tim  = new TimerCurrent.Class1();
     user = new UserControl1();
     this.userControl11.Tim = tim;
 }
Пример #5
0
 public void Ditach(TimerCurrent.Class1 ob)
 {
     observers.Remove(ob);
 }