相关疑难解决方法(0)

并发调用同一套接字上的send/recv是否有效?

  1. 我们可以在同一个套接字上调用一个线程的发送和另一个线程的recv吗?
  2. 我们可以从同一个套接字上的不同线程并行调用多个发送吗?

我知道一个好的设计应该避免这种情况,但我不清楚这些系统API将如何表现.我也找不到相同的好文档.

方向上的任何指针都会有所帮助.

c sockets networking

119
推荐指数
2
解决办法
5万
查看次数

成功发送send()"原子"吗?

成功调用send()并返回的数字等于size参数中指定的数量,是否保证不会发生"部分发送"?

或者有什么方法可以在服务系统调用时中断操作系统,发送部分数据,等待可能很长时间,然后发送其余的并返回而不通知我更小的返回值?

我不是在讨论内核缓冲区空间不足的情况; 我意识到我会得到一个较小的返回值,并且必须再试一次.

更新: 根据目前为止的答案,我的问题可以改写如下:

在调用send()之前,有没有办法通过线路发送数据包/数据?

sockets tcp atomicity

4
推荐指数
1
解决办法
2080
查看次数

标签 统计

sockets ×2

atomicity ×1

c ×1

networking ×1

tcp ×1