社区
Linux/Unix社区
帖子详情
请教unix系统下高效数据传输的方法
qfxx
2006-01-11 04:23:12
unix系统进行大数据量的传输
有没有比socket更快的传输方法
前提保证数据的准确性
即数据不能出错
请教各位高手谢谢了
...全文
218
8
打赏
收藏
请教unix系统下高效数据传输的方法
unix系统进行大数据量的传输 有没有比socket更快的传输方法 前提保证数据的准确性 即数据不能出错 请教各位高手谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fierygnu
2006-01-12
打赏
举报
回复
要得到对方确认才会发送下一个数据包
----
错。TCP用窗口机制进行流控,在窗口未满之前可以持续发送。
建议再深入看看TCP。
如果一定要用UDP,需要自己解决确认、超时、重传、排序、重复等等问题。我记得UNIX Network Programming Vol1里好像有一个实现例子。
qfxx
2006-01-12
打赏
举报
回复
yjf7888(断刀)
你说的升级硬件
是要升级网卡还是什么其它的硬件
一般网络传输的瓶颈在什么地方
qfxx
2006-01-12
打赏
举报
回复
因为tcp是面向连接的可靠传输协议
要保证可靠的话在每次tcp传输数据包时
要得到对方确认才会发送下一个数据包
如果得不到确认或出现错误会重发
因此效率低是肯定的
fierygnu
2006-01-12
打赏
举报
回复
因为数据量太大用UDP是肯定的
----
为什么?
yjf7888
2006-01-12
打赏
举报
回复
1)udp
2)升级硬件
qfxx
2006-01-12
打赏
举报
回复
数据通信肯定会经过传输层
传输层上的两个主要协议tcp和UDP
因为数据量太大用UDP是肯定的
但是担心用socket的UDP传输仍然不够
想知道有没有效率更高的API库
或者有没有好的传输方案
qfxx
2006-01-12
打赏
举报
回复
回去看了一下unix网络编程第一卷
这里还是应该用TCP
书里说的很明白
UDP的使用主要在两个方面
1UDP支持组播多播,而TCP不支持,
因此对于有组播多播的应用必须用UDP如流媒体
2UDP没有连接建立和拆除,因此对于简单的请求应答程序
用UDP效率更高
特别明确的指出UDP不适用于海量数据传输
谢谢楼上两位仁兄
结帖!!!
fierygnu
2006-01-11
打赏
举报
回复
跟socket没关系,用什么协议的问题。
两个系统之间?按照你的要求,TCP最好。
运行在用户上下文环境中的代码是可以阻塞的
本文介绍了一种通过使用用户上下文环境、消息队列和
UNIX
域套接字,在内核态与用户态之间实现
高效
数据传输
的
方法
。通过内核模块注册设置套接字选项的函数,用户空间进程能够调用这些函数进行数据读写。示例展示了用户态进程与内核态之间的字符串交换过程,以及
系统
调用如何在内核态与用户态间穿梭。
writev()与readv()
本文介绍了
UNIX
系统
中用于
高效
处理不连续内存读写的writev和readv函数。这两种
方法
通过减少
系统
调用次数和避免数据复制,显著提高了
数据传输
效率。文章详细解释了这两个函数的工作原理、参数设置及使用场景。
用rsync实现网站镜像和备份
本文介绍rsync工具的配置与使用
方法
,适用于类
Unix
系统
的远程数据备份及网站镜像。rsync具备
高效
的
数据传输
能力,支持多种认证方式及复杂的权限设置。
什么是rsync
rsync是一款在Linux和
UNIX
系统
上广泛使用的
高效
文件传输和同步工具,现已移植至Windows平台。其核心优势在于仅传输文件差异部分,大幅减少
数据传输
量。本文介绍了rsync的基本概念、安装配置
方法
及常见应用场景。
《
UNIX
Linux程序设计教程》一3.7 非阻塞I/O
本文探讨了非阻塞I/O的基本概念及其在
UNIX
系统
中的实现
方法
,通过具体实例展示了如何利用非阻塞I/O进行
高效
的
数据传输
,尤其是在面对可能永久阻塞的操作时的有效应对策略。
Linux/Unix社区
18,828
社区成员
11,491
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 专题技术讨论区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章