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; } } }
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); } } }
public Form1() { InitializeComponent(); cla = new TimerCurrent.Class1(); //hello = new setValueEventHandle(setValue); }
private void Form1_Load(object sender, EventArgs e) { tim = new TimerCurrent.Class1(); user = new UserControl1(); this.userControl11.Tim = tim; }
public void Ditach(TimerCurrent.Class1 ob) { observers.Remove(ob); }