2 johnnyem johnnyem 于 2015.06.17 21:53 提问

linux下关于TCP packet传输的时间和频率控制

我需要在linux环境下设计一个函数,大概长成这样: sender(time, packet_size, frequency, file).
其中time就是需要传输多久(s),packet_size就是包大小(KB),frequency是每秒传输多少个packet,file是所传输的文件。想请问大牛,这个time和frequency能在linux下
找到相匹配的函数或者选项或者结构体吗? 还有个问题是,我到底应该用socket(AF_INET, SOCK_RAW, 0)还是socket(AF_PACKET, SOCK_RAW, 0)还是都不对,非常感谢!

2个回答

ycg514230
ycg514230   Rxr 2015.06.18 08:09

没有这样的函数,tcp的传送是根据系统的具体情况来的,不可能你规定多少时间传送多少就能做到,
这样操作起来也会更麻烦。业务系统也不好操作这些接口。
只需要数据和包大小就可以了,TCP会根据情况来传送。
使用者只能设置一些参数来优化TCP传送的性能。
通常会用AF_INET。

希望能帮到你。

q3733353520
q3733353520   2015.06.18 09:21

其实一般传输都是自己写一个线程来实现的,可以自己决定一次发送多大的数据,但是不能决定时间,这个是由网络决定的

Csdn user default icon
上传中...
上传图片
插入图片