S1:(服务端)
remotename:192.162.125.255        remotePort:4002      LocalPort:4003
C1:(客户端1)
remotename:192.162.125.255        remotePort:4003      LocalPort:4002
C2:(客户端2)
remotename:192.162.125.255        remotePort:4003      LocalPort:4002
分别完成帮定后,S1广播C1、C2可以收到,C1、C2反馈消息,S1也可以收到;S1再次发送广播,C1、C2只有一个可以收到。此时S1的remoteIP=C1、C2其中一个的IP地址。
如何才能用UDP广播的形式实现一个Server(或多个Server)与多个客户端之间的通讯?请教高手!!

解决方案 »

  1.   

    你的服务器端和客户端的remotename怎么一样啊?
      

  2.   

    可以用广播呀.
    服务器发给所有客户端就用"255.255.255.255"
    就是UDPServer.RemoteHost = "255.255.255.255"
      

  3.   

    楼主用局域网内的广播地址也是一样的,为什么不通就想不通了,我第一感觉 是否S1在接收到C1或C2响应信息后其remoteip属性改掉了啊,变为C1、C1其中一个的IP地址,可以测测是不是?
      

  4.   


    S1:(服务端)
    remotename:192.162.125.255        remotePort:4002      LocalPort:4003
    C1:(客户端1)
    remotename:192.162.125.255        remotePort:4003      LocalPort:4002
    C2:(客户端2)
    remotename:192.162.125.255        remotePort:4003      LocalPort:4002
    分别完成帮定后,S1广播C1、C2可以收到,C1、C2反馈消息,S1也可以收到;S1再次发送广播,C1、C2只有一个可以收到。此时S1的remoteIP=C1、C2其中一个的IP地址。
    如何才能用UDP广播的形式实现一个Server(或多个Server)与多个客户端之间的通讯?请教高手!!
    错误:
    1。1台机器不能榜定同1端口2次
    2。不能关闭udp关闭了怎么接受
    解决广播
    很简单,朝2个ip地址各发一个消息 udp马别关闭
    每次用sock.remotename=192.162.125.255       sock. remotePort:4002      
    就能实现发送
      

  5.   

    同一个sock控件可以多次绑定同一端口
      

  6.   

    to nnhy(大石头) ( ) 
    我说的有点问题,是控件再不关闭的情况下
      

  7.   

    udp协议太不可靠了.我以前做了个在局域网用服务器发送文件给所有工作站的小程序,就用的255.255.255.255,做广播地址,结果是有的时候好用,有的时候工作站文件不能接受全.广播消息的话,还是很简单的呀.不过现在有不少交换机拒绝广播,呵呵.广播对局域网的带宽占用太厉害了. 实在不行还是用tcp控件组做循环发信息或传文件吧.虽然速度比udp慢些,占用系统资源多些,但是可靠多了.
      

  8.   

    to zyg0(影子(努力吃饭中))
    我说的是关闭发送的端口,当然不能关闭接收的端口了,这是两个不同的端口。关于广播问题,我测试过了,用255.255.255.255很不稳定,也就是有些机子经常收不到数据包。我一般用子网广播192.168.1.255