日期:2014-05-20  浏览次数:20753 次

使用Remoting做的消息板,第二次登录无法发消息!!!
我做了一个聊天程序, 分为以下三个项目:
      Project   1:   MsgBoardShard   (类库)
      Project   2:   MsgBrdServer   (控制台应用程序,服务器端)
      Project   3:   MsgBoardClient   (控制台应用程序,消息客户端)

第一次启动服务器端和客户端时,客户端输入消息会在服务器上显示,一切正常,可是当我仅关闭客户端,然后再开启客户端的时候,发的第一条消息会在服务器上显示,服务器显示完这条消息之后,就报错了。这是为什么?
      两天了,我都要疯了,有达人能够帮我吗?能够解决我这个问题的人,可以把邮箱地址回复,我把源代码发给你,30K。 
  如果在您看来是一两句话的话,也麻烦指点一下,搞定后高分相送!!! 

=====================================================================
project   1: "MsgMsgBoard "   的内容:
        public   delegate   void   EventDelegate(string   info);
        [Serializable]
        public   class   MsgBoard   :   MarshalByRefObject
        {
                public   event   EventDelegate   OnInfoAdded;
                public   void   AddMessage(string   info)
                {
                        Console.WriteLine( "SERVER:{0} "   ,   info);
                        if   (OnInfoAdded   !=   null)
                                OnInfoAdded(info);   //   error   here:   cannot   connect   to   remote  
server
                }
        }

另外一个类:

        [Serializable]
        public   class   EventClass   :   MarshalByRefObject
        {
                private   EventClass()
                {

                }
                public   static   EventClass   Instance   =   EventClass.CreateInstance();
                public   static   EventClass   CreateInstance()
                {
                        if   (Instance   ==   null)
                        {
                                Instance   =   new   EventClass();
                        }
                        return   Instance;
                }

                public   event   EventDelegate   OnInfoAdded;
                public   void   msgbd_OnInfoAdded(string   info)
                {
                        //Console.WriteLine( "info   from   server   event:{0} ",   info);