你问题没有描述清楚,而且关键代码也没有给出!
你这个WEB 应用程序跟那个服务端的应该是两个应用程序吧,这两个应用程序通过什么方式共享clients.Count 的呢?
你应该把你的Client 类的代码实现给出!
这种情况最好是通过WEB service来做!

解决方案 »

  1.   

    #region 事件
            /// <summary>
            /// 连接关闭的事件
            /// </summary>
            public event AsySocketClosedEventHandler OnClosed
            {
                add
                {
                    onClosed += value;
                }
                remove
                {
                    onClosed -= value;
                }
            }
            /// <summary>
            /// 接受连接的事件
            /// </summary>
            public event AcceptEventHandler OnAccept
            {
                add
                {
                    onAccept += value;
                }
                remove
                {
                    onAccept -= value;
                }
            }
            /// <summary>
            /// 接收二进制数据事件
            /// </summary>
            public event StreamDataAcceptHandler OnStreamDataAccept
            {
                add
                {
                    this.onStreamData += value;
                }
                remove
                {
                    this.onStreamData -= value;
                }
            }
            /// <summary>
            /// 接收文本数据事件
            /// </summary>
            public event StringDataAcceptHandler OnStringDataAccept
            {
                add
                {
                    onStringData += value;
                }
                remove
                {
                    onStringData -= value;
                }
            }
            /// <summary>
            /// 发送成功事件
            /// </summary>
            public event AsySocketEventHandler OnSended
            {
                add
                {
                    onSended += value;
                }
                remove
                {
                    onSended -= value;
                }
            }
            /// <summary>
            /// UTP发送成功事件
            /// </summary>
            public event AsySocketEventHandler OnSendTo
            {
                add
                {
                    onSendTo += value;
                }
                remove
                {
                    onSendTo -= value;
                }
            }
            #endregion
    主要都是通过事件来引发的 要不我给你我的QQ 你帮我看看?
      

  2.   

    你给的代码只是一些事件定义,这个没什么意义的,你要看客户端连接后触发了什么事件,这个事件处理程序里面做了些什么操作,有没有对clients.Count +1,如果客户端和服务端分别是两个应用程序,那用事件是不能实现的,你这里不知道用了什么技术.但我估计你这个问题的原因还不是出在这里,这种多线程的分布式应用还是要耐心的对代码多加研究,断点看每一步的走向,还要注意每个线程的执行任务!
      

  3.   

    你的实现估计是在2个application当中虽然定义成static了,但实际是2个不同domain中的类