消息关闭
    暂无新消息!

组播接收多个端口的数据

问题作者 : 简单爱2017-08-19发布
由于一个项目的关系,刚刚接触网络,接触组播,想知道如果同时接收多路组播数据(不同地址,不同port)能实现吗,现在不明白的是加入组播的时候只关注IP,可以将多个IP加入到组播组,那多个IP的数据收到后又怎么判断端口号?接收数据前要bind,bind要指定端口号,岂不是只能绑定一个端口号?那能够组播接收多个端口的数据吗?从网上查一个套接字只能绑定一个端口,绑定多个端口会失败,而多个套接字也只有最后一个套接字会正常接收数据,那岂不是实现不了接收多个端口的数据?从网上找了好久都只有解决多个套接字绑定一个端口的方法,为什么没有解决绑定多个端口的方法,是我问的这个问题根本不成立?还是问题太弱智了,都会解决?完全小白,求指点,不甚感激!!!!!!

2个回答

︿ 1
从网上查一个套接字只能绑定一个端口,绑定多个端口会失败,而多个套接字也只有最后一个套接字会正常接收数据,那岂不是实现不了接收多个端口的数据?

//////////
一个socket只能绑定一个端口号,如需接收多个端口的数据可以用多个socket, 然后每个socket用一个子线程来接收数据或者用io复用函数(poll, select, epoll)来处理所有socket接收数据应就可以了