有关UDP在局域网内多播的问题,欢迎参与讨论。
各位大侠:
想要实现局域网内的多播问题,看了一些资料,头晕脑胀,还是大家帮帮我吧。
环境及要求如下:一台服务器,负责采集实时视频数据以及监听来于客户端的呼叫请求;收到请求后,将数据打包后发送到该客户 。
我现在的进展情况:服务器创建一个SOCKET,并开始监听线程。每当收到一个请求时,便可以得到该客户的地址,OK,将此地址记录在案,以备后用。在另一个线程中实现数据的发送,发送时检查地址本,如果有多个地址存在,即表示同时有多个客户在请求,OK,用UDP的SENDTO开始发送,有多个地址,就发送多次!!!!!! (笨呀)
客户端同样创建SOCKET,用于监听接收来自于服务器的数据,当然服务器的IP地址以及PORT端口是已知的。
问题:这样子显示是不可行的。如果有10个,20个客户同时请求,需发送20次,速度上根本将达不到!!!! 所以, 应该采用多播的方案。
看看了资料,看到了加入多播组的内容,可是还是不太明白。
1 服务器加入组后,需要发送的时候只需要向这个组发送一次就可以了。然后,这个多播组就可以将数据发送到其它客户端上? 我想实现多播(即播放到指定的一个或多个客户端),而不是广播(播放到所有客户端)呀!!
2 如果服务器想要向指定的某一个客户端发送命令消息或专用数据,该如何做?
3 客户端向服务器发送该如何实现?是发到服务器还是多播组呀?
4 客户端原来是在监听服务器的指定端口。改用多播方案后,它应该从什么地方接收数据呢?
........................
欢迎参与讨论,助菜鸟早日解除迷团,不胜感激!