如题~
我写了一个C/S的项目,现在是客户端向服务端发送消息成功(利用委托)
但是反过来的服务端发送消息到客户端始终没想出来,google说要用到Brodcast,但是这是广播啊。没发现有指定某个客户端的。
我该怎么才能得到所有在线的客户端网内IP地址和指定客户端IP去发送消息?
希望有高手能帮忙帮忙。

解决方案 »

  1.   

    回调事件哦。也就是说Service开放一个Event,所有客户端都监听。http://www.cnblogs.com/wayfarer/articles/75213.htmlbtw:怎么还在用remoting。改用wcf duplex吧。
      

  2.   

    ++
    呵呵,文章写得很清楚了。还有代码下载。先仔细阅读后再提问吧!
    PS:提前告诉你下里面有个坑,服务端的Delegate直接序列化会失败!
        文章里也有详细描述解决办法。自己看吧。
      

  3.   

    文章可能我看的不怎么懂,因为我也是刚接触Remoting所以不好意思~向各位前辈先学习!
    是这样的,我呢就是说我现在的
    客户端------>发出消息(服务端接受正常)
    就是说下一步,不知道该怎么开始了,我想过在服务端先取得所有在线的客户端IP,我用过客户端上线通知服务端的方法。但是我该怎么去保存我所收到的客户端IP然后在返回给各客户端客户列表呢?(这点很不清楚)
    然后就是,我该怎么做,才能让两个客户端通过服务端进行通信,并不只是单向的,是双向的。
      

  4.   

    这里做个解释,你问的问题其实是Remoting的底层实现。可能在学完这个实例之后自然能理解。
    RemotingServices.Marshal 注册的对象是双向的。
    换句话说当client和service端建立了连接那么就是双向的。
    只要服务端实例未销毁,这个连接都是存在的。也不需要你去额外的做什么客户端IP保存。PS:
    当然也有第一次客户端把自己的IP告诉服务端,然后自己开启服务摇身变成服务端的应用。
    服务端反过来调用客户端(服务)的。这种应用适合端对端的连接交互。