腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
linux
套接
字
中的缓冲工作原理
、
Linux
上的
套接
字
缓冲是如何工作的?即,如果服务器没有读取
套接
字
,而客户端继续发送数据。那么会发生什么呢?
套接
字
的
缓冲区
有
多大
?客户端是否会知道,因此它将停止发送?
浏览 0
提问于2010-04-12
得票数 3
回答已采纳
3
回答
套接
字
选项SO_SNDLOWAT的用途是什么
、
、
、
我目前正在将C中的一个软件从Tru64移植到
Linux
11。在Tru64上,他们将SO_SNDLOWAT
套接
字
选项的值设置为1024 * 64。在
Linux
上,此选项不可更改,其值为1。我想弄清楚,在
Linux
上不将SO_SNDLOWAT设置为1024 * 64会对软件执行产生什么影响。问题是我找到了两个关于SO_SNDLOWAT目的的定义(解释)SO_SNDLOWAT 指定
缓冲区
中的最小字
浏览 15
提问于2011-11-23
得票数 8
2
回答
系统调用开销
、
、
、
在
Linux
上运行C程序的I/O syscall开销有
多大
,我的意思是在大
缓冲区
(常规文件或网络
套接
字
)上运行许多小的read / write操作与read / write相比有多糟糕?
浏览 2
提问于2011-11-24
得票数 6
回答已采纳
1
回答
Linux
3.0 TCP协议栈接收缓冲内核体系结构
、
、
(
Linux
3.0,x86_64) 如果我暂时停止在连接的tcp
套接
字
上调用 recv (2),而另一个主机一直在发送数据,而不是由内核接收和缓冲这些数据,那么下次调用recv时,它将与所有等待的数据一起快速返回我的问题是这个接收
缓冲区
有
多大
,它是如何工作的?是否有任何相关的内核或
套接
字
设置,我可以使用它的行为调优?当tcp堆栈被填满时,它会做什么?
浏览 3
提问于2012-02-03
得票数 1
回答已采纳
3
回答
EAGAIN是否会在发送时返回
缓冲区
已满以外的任何内容?
、
、
、
、
如果我在
Linux
的非阻塞tcp
套接
字
上使用send(),它是否会为发送
缓冲区
已满以外的任何条件返回EAGAIN?基本上,我需要决定是使用
套接
字
发送
缓冲区
作为应用程序的唯一
缓冲区
,还是需要自己的用户空间
缓冲区
来填充
套接
字
缓冲区
。
浏览 2
提问于2010-06-18
得票数 2
1
回答
设置接受
套接
字
的
缓冲区
大小
、
、
在
Linux
下设置accept()d
套接
字
的
缓冲区
(即SO_RCVBUF、SO_SNDBUF)大小的正确方法是什么?显而易见的答案是在新创建的
套接
字
上调用setsockopt(),但是tcp手册页声明: 在单个连接上,必须在侦听(2)或连接(2)调用之前设置
套接
字
缓冲区
大小,才能使其生效。有关更多信息,请参见
套接
字
(7)。这是有意义的,因为
缓冲区
可能是在创建时分配的,为此,我必须
浏览 2
提问于2016-09-29
得票数 3
回答已采纳
2
回答
Linux
套接
字
缓冲区
是如何溢出的?
、
、
、
我有一个Java阅读器应用程序,它从
Linux
64位平台(2.6.18)上的多播
套接
字
读取数据。插槽大小已设置为2 MB。当读取器不能足够快地读取时,
套接
字
“溢出”,即从
缓冲区
丢弃数据包。我想知道的是
Linux
内核是如何从
套接
字
缓冲区
中丢弃数据包的。我假设
套接
字
缓冲区
本身是一个FIFO
缓冲区
。但是,如果它是满的,会发生什么呢?下一个数据包是否会
浏览 3
提问于2010-07-09
得票数 14
1
回答
套接
字
缓冲区
中的Head空间
、
、
我正在
linux
内核中编写一个新的网络设备,其中我必须使用
套接
字
缓冲区
。 当我浏览
套接
字
缓冲区
的结构时,我可以看到四个字段,分别为head、data、tail和end。
套接
字
缓冲区
中的头部和尾部空间的用途是什么。
浏览 0
提问于2012-10-29
得票数 1
3
回答
istream和ostream与共享的streambuf对于双工I/O是线程安全的吗?
、
、
、
、
我已经为缓冲的网络
套接
字
I/O派生了一个自定义的streambuf,覆盖了underflow、overflow和sync,因此underflow与其他两个的集合是相互线程安全的(我有单独的输入和输出内部
缓冲区
这可以很好地工作,但我想将其用于全双工I/O,其中一个线程可以输入,而另一个线程正在输出,所以我想使用一个istream作为接收线程,使用ostream作为发送线程,同时共享网络streambuf,因为它抽象了所有
套接
字
内容我的问题是,如果输入和输出
缓冲区
是分开的
浏览 0
提问于2012-04-01
得票数 9
回答已采纳
4
回答
在域
套接
字
上传输单个数据包的实际限制是什么?
、
、
、
、
让我们假设有一个Unix域
套接
字
为一个典型的服务器客户端程序创建。客户端通过
套接
字
发送一个10 in的
缓冲区
,同时由服务器使用。OS (
Linux
/BSD)是将10 OS
缓冲区
分割成多个数据包并发送/消费它们,还是同时发送? 该程序将在
Linux
2.6.32+和FreeBSD 9+上
浏览 0
提问于2014-02-18
得票数 29
回答已采纳
2
回答
如果由于
缓冲区
已满错误导致发送失败,是否可以增加
套接
字
发送
缓冲区
大小
如果TCP
套接
字
设置为非阻塞模式,并且最初设置了
套接
字
发送
缓冲区
,则在循环中使用发送来发送所有数据。如果由于EAGAIN错误导致发送失败,是否可以增加发送
套接
字
缓冲区
?我使用的是
Linux
操作系统。在tcp 上,“在各个连接上,必须在listen(2)或connect(2)调用之前设置
套接
字
缓冲区
大小,才能使其生效。”这就是为什么这个问题出现了。
浏览 4
提问于2012-10-05
得票数 2
回答已采纳
1
回答
在
Linux
中监控传输、网络和链路层
缓冲区
/队列(已加载、空、满和丢弃)
、
据我所知,这些是
Linux
中UDP的
缓冲区
/队列(如果我错了,请纠正我)我知道我们可以监视
浏览 14
提问于2012-05-24
得票数 0
4
回答
C Windows
缓冲区
大小
、
、
、
、
在windows中,假设我使用recv函数从
套接
字
接收数据。我很好奇最优的
缓冲区
会有
多大
?我可以设置为1024
字
节,也可以设置为51200
字
节,或者更大。我想知道哪一个的性能会更好。这不仅仅适用于recv函数,假设我正在读取一个大的文本文件,我想要一个非常大的
缓冲区
还是更小的
缓冲区
?
浏览 0
提问于2011-09-28
得票数 2
回答已采纳
2
回答
高效的
Linux
套接
字
(DMA/零拷贝)
、
、
我正在构建一个非常高性能的
Linux
服务器(基于epoll、非阻塞
套接
字
和基于IO _submit/io_getevents/eventfd的异步磁盘io)。我的一些基准测试表明,我处理
套接
字
的方式不足以满足我的需求。特别是,我关注的是从用户空间
缓冲区
到网卡的数据,以及从网卡返回到用户空间
缓冲区
的数据(现在让我们忽略sendfile调用)。据我所知,在非阻塞
Linux
套接
字
上调用read/
浏览 4
提问于2009-12-02
得票数 32
3
回答
C语言中的非阻塞udp
套接
字
编程:我得到了什么?
、
、
、
、
更具体一些,与TCP相比(如果我错了,请纠正我):如果没有可用的数据,非阻塞的
套接
字
浏览 6
提问于2010-02-10
得票数 10
回答已采纳
2
回答
从异步
套接
字
以最佳方式读取数据
、
我在使用WSAASyncSelect将
套接
字
置于异步模式的
套接
字库时遇到了问题。在异步模式下,
套接
字
被置于非阻塞模式(任何可能阻塞的操作都会返回WSAWOULDBLOCK),并且当
套接
字
准备好被读取、写入等时,windows消息被发送到通知窗口以通知应用程序。如果数据以非常快的速度到达,这可能会使消息队列充满FD_READ消息,并且由于WM_TIMER和WM_PAINT消息仅在消息队列为空时发布,这意味着如果应用程序接收到大量数据并使用
缓冲区
太小的异步
浏览 2
提问于2009-12-30
得票数 0
回答已采纳
1
回答
慢
套接
字
在Windows上用于大量小消息的recv
、
、
、
我正在使用
套接
字库(SOCK_STREAM)在Python中开发小型服务器。服务器应该接收大量的小消息(25-40
字
节),处理它们并尽可能快地转发。在
Linux
和OSX上,它工作得很好,socket的recv函数一到达就会返回数据。不幸的是,在Windows (8Pro)上,它似乎在从recv函数返回数据之前积累数据。我试图限制使用recv函数读取的最大数据量,但这并没有
多大
帮助。看起来数据是内部积累的。 我是否必须在服务器(Python)或客户端(Java的
套接
字
)中设置特定的
浏览 3
提问于2013-08-13
得票数 1
1
回答
单个
缓冲区
;多个
套接
字
;
Linux
下的单个syscall
、
、
、
、
Linux
是否有任何本机内核功能,可以将提供的
缓冲区
发送到一组
套接
字
?一种类型的矢量I/O,除了
套接
字句柄而不是
缓冲区
。目标是减少u/k转换的数量,例如,在这样的情况下,您需要向n个客户机广播一些状态更新,这需要遍历每个
套接
字
并发送。 一个限制是必须支持TCP
套接
字
(不受我的控制)。
浏览 2
提问于2015-08-24
得票数 2
回答已采纳
1
回答
splice()在
Linux
中是如何实现零拷贝的?
、
、
、
、
我对零拷贝的概念很陌生,但据我所知,这是一种不将任何东西从内核
缓冲区
复制到用户
缓冲区
并直接在两个内核
缓冲区
之间传递数据的方法。这样,CPU就不必将数据从内核
缓冲区
复制到用户
缓冲区
并返回到内核
缓冲区
。在
Linux
2.4和更高版本的某些情况下,即使在内核
缓冲区
中也不需要复制数据,只有要传输的数据的位置和长度被传递到
套接
字
缓冲区
,而DMA则进行复制。所以这个名字叫零拷贝。在
Linux
中
浏览 13
提问于2022-09-08
得票数 1
2
回答
查找原始
套接
字
中丢弃的数据包数。
、
我正在开发一个程序,它使用原始
套接
字
(AF_PACKET,SOCK_RAW)嗅探网络数据包,并以某种方式处理它们。如何知道数据包是否由于
套接
字
的接收
缓冲区
中缺少空间而被丢弃? 我试过运行ss -f link -nlp。这将输出当前存储在该
套接
字
浏览 0
提问于2015-06-09
得票数 3
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
ARTS-第-15-期
在Python 3.5中通过零用户空间内存的套接字进行文件传输
Tunna:一款神奇的工具,它可以通过HTTP封装隧道通信任何TCP
打造一款属于自己的远程控制软件
Python网络编程之socket模块基础实例
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券