如题,即如何获悉有新的消息到来

解决方案 »

  1.   

    使用socket的accept啊。监听端口贝
      

  2.   

    我是指在没有打开聊天窗口的情况下,例如系统信息的到来,也是用SOCKET监听吗
      

  3.   

    系统信息,你是指什么样的系统信息。
    可以参考wmi的实现,wmi里面有监听机制,可以在发生某个事件的时候激活方法
      

  4.   

    把消息做成类,在类中添加一个事件,当接收事件的时候就抛出这个事件,把监听做到后台服务中就可以了,比如windows service
      

  5.   

    public delegate void dlg_MsgHandler(Msg vipmsg); public class Msg 
    {
    public event     dlg_MsgHandler MsgArrived; public Msg()
    {
    ........
    dlg_MsgHandler msghandle = new dlg_MsgHandler(RaiseEvent);
    } public void RaiseEvent(Msg vipmsg)
    {
    try
    {
    MsgArrived(vipmsg);
    }
    catch {}
    }....................MsgInstance.MsgArrived += new dlg_MsgHandler(Handle_function);
      

  6.   

    也可以使用msmq,消息队列更可靠些
      

  7.   

    听起来,确实简单啊
    做起来才不是那么回事建议楼主动手试试
    这样能把一个大问题拆分成小的细节问题,再过来跟像wangsaokui(无间道III(MSMVP)) 这样的高手探讨
      

  8.   

    msmq只能用在Active Directory的环境中,试想如果不是这个环境,如何把信息写到服务器或对方的MSMQ中呢?这种需求只能用socket,TCP/IP或UDP协议都可以满足
      

  9.   

    BS架构可以通过WebService来传递信息啊,http协议你总是要用的吧
      

  10.   

    用Socket异步通信 + 事件
      

  11.   

    是BS架构好象只能是定期刷新了,用ajax吧