本帖最后由 altercy 于 2013-11-07 16:15:00 编辑

解决方案 »

  1.   

    1.服务器 上的代码怎么接受winform事件的注册
    这个可以在服务端定义一个全局的字典保存通道信息,key为客户端的标识,value为通道信息,每次注册,将通道信息保存到字典中。
    2.服务器向客户端推送消息
    这个就可以遍历那个集合,向客户端发消息。
    3.客户端关闭怎么取消这些事件
    主动取消事件本质是向服务端发消息,服务端判断之后将该客户端的通道信息从全局字典中移除,具体可以再客户端关闭时closing事件中实现。被动取消,比如断线,可以通过心跳机制实现
    整个流程就是服务端开启--客户端发消息给服务端注册--服务端接受之后管理信息--当服务端有信息时随时可以发送到客户端
    我以前写的例子可以参考下,资源地址http://download.csdn.net/download/pfe_nova/4225744
      

  2.   

    http://download.csdn.net/detail/caozhy/5287998
      

  3.   


    嗯,我写了closing事件的,可是客户端关闭好久才能出发,这个时候,回调函数早就出错了,两外你说的那个Key Value,在程序运行过程中还能获取么?还有当客户端调用服务是,自动形成实例前,我不能给他加事件啊?貌似构造函数也无法 加参数哦,哎被人小白一个,按您说的,我改了下
            public UpDate()
            {
                Temper = StartUpService.TR;
                Temper.EventTempHum += new TempHumHandler(GetTempHumChanges);
                t = new Thread(new ThreadStart(Counting));
                t.IsBackground = true;
                t.Start();
            }        public void Counting()
            {
                while(true)
                {
                    if(i-- < 0)
                    {
                        Channel_Closing(new object(), EventArgs.Empty);
                    }
                    Thread.Sleep(1000);
                }
            }