LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1135|回复: 8

用c编程,怎样知道一个网络端口是否有数据?

[复制链接]
发表于 2006-1-10 19:53:45 | 显示全部楼层 |阅读模式
我现在想判断端口http://127.0.0.1:9000是否有数据流,该调用什么函数解决?
发表于 2006-1-10 20:00:39 | 显示全部楼层
内核应该知道吧!!会不会在内核处理网络中断的地方!
回复 支持 反对

使用道具 举报

发表于 2006-1-10 20:51:05 | 显示全部楼层
你可以连上去试着读一下嘛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-10 22:56:17 | 显示全部楼层
Post by nait
你可以连上去试着读一下嘛

可否具体说一下?
回复 支持 反对

使用道具 举报

发表于 2006-1-10 23:13:44 | 显示全部楼层
看unp吧~~~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-11 10:48:39 | 显示全部楼层
用最简单的tcp client实验成功!!!
我用sp-sc放网络电视,产生到端口9000的媒体数据流,用nmap检测到9000端口是tcp协议,再用任意一个最简单的tcp client联接该端口:127.0.0.1:9000得到结果:
HTTP/1.0 200 OK

0&²õŽæϦ
回复 支持 反对

使用道具 举报

发表于 2006-1-12 18:11:11 | 显示全部楼层
Post by dyte200
我现在想判断端口http://127.0.0.1:9000是否有数据流,该调用什么函数解决?

建一个套接口,然后用select监视就行了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-13 13:46:14 | 显示全部楼层
看了一下,select好像只能探测是否有数据,不能探测数据流量。
对于我的问题,如果sp-sc正确连接电台(从端口8000接出去),在端口9000会产生类似
HTTP/1.0 200 OK

0&²õŽæϦ
的一长串数据。如果sp-sc没有连到电台,只会产生:
HTTP/1.0 200 OK

数据。
回复 支持 反对

使用道具 举报

发表于 2006-1-14 08:46:17 | 显示全部楼层
这个,你截了数据解析一下不就行了吗!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表