免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1233 | 回复: 0
打印 上一主题 下一主题

是否有以太级并发服务的概念,如何实现?请指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-21 10:53 |只看该作者 |倒序浏览
学习了一段时间stevens的unix网络编程 卷1:套接字联网API(第三版)。在看到书中对“链路层访问”(第29章)的描述时,产生了如下的疑问:对数据链路层是否有并发的概念?如果有如何实现。

如果将以太网中一个机器通过libpcap设置到混杂模式来诊听其他机器的数据,然后此机器对所诊听的其他计算机的数据进行处理。那么应该可以将它类似看作为一个可以诊听其他机器数据的“server”吧。当sever连接的client个数大于一并且clients发送的数据时间没有限制,如果要加快处理数据的效率,那么应该使用并发server.

stevens的书上面只介绍了TCP和UDP的并发server,一般都是创建新线程或者创建新进程处理。如果要实现以太层面的并发,是不是也是通过pcap_open_live()得到descriptor,然后创建新进程,或者线程,再来处理。

但是通过对libpcap库的学习,发现pcap_dispatch()和pcap_next()函数,通过读man发现,它们都应该是从buffer读取,所以应该数据都先存储在了buffer里面。如果数据都要先通过buffer,并发很难实现吧

请大家指教,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP