首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定/设置套接字缓冲区大小?

问如何确定/设置套接字缓冲区大小?
EN

Stack Overflow用户
提问于 2015-01-20 14:11:11
回答 1查看 2.8K关注 0票数 0

我正在编写两个程序(在visual studio上),一个发送UDP数据包,另一个接收UDP数据包(1000字节)。目前,我的发送者正在发送一个udp数据包,休眠1ms,然后再发送另一个数据包。为了提高速率,我只在发送了大约20个数据包后让发送者休眠1毫秒。问题是,如果我在每次睡眠之前增加数据包的数量,接收器往往会丢失数据包。所以我想如果我增加套接字缓冲区的大小会更好?

我知道TCP是一个更安全的选择,但假设我只能使用UDP,并且我需要确保可以高速发送数据包而不会丢失数据包,我该怎么办?如何检查我的套接字缓冲区大小?目前我的程序只使用了'sethost‘和'bind',然后是'sendto’来发送udp数据包。

EN

回答 1

Stack Overflow用户

发布于 2015-01-20 14:38:25

您可以使用setsockopt()使用SO_RCVBUFSIZ或SO_SNDBUFSIZ选项设置套接字缓冲区大小,并可以通过getsockopt()将其取回。

然而,我同意@JonathonReinhart的观点,即这不太可能解决你真正的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28038806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档