多个recv,一个send的情况又是如何?谢谢老兄弟 !
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
已采纳
SOCKET多个send,一个recv为什么没有问题?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
小乌龟在大乌龟背上 2017-06-21 11:44关注send ,recv基本是线程安全的函数,猜测函数内部有原子锁。多个recv,1个send就是操蛋
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报
微信扫一扫点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
报告相同问题?
提交
- 2024-06-12 13:35Robot-WH的博客 答:如果接收方没有及时读取数据(即没有执行recv),接收缓冲区可能会填满,这可能会导致发送方的发送缓冲区也填满(因为TCP协议会保证数据的可靠传输,所以发送方在收到接收方的确认之前不会释放发送缓冲区中的...
- 2021-02-09 06:33克莱登大学门卫的博客 linux和windows下用setsockopt设置SO_SNDTIMEO,SO_RCVTIMEO的参数的一点区别UDP的socket在某些情况:如对方关闭时,本地可能sendto不出去数据,然后recvfrom就会被阻塞,这时就需要设置 这两个参数的值提高程序质量...
- 2020-08-03 11:21Gopher大威的博客 参数二:指向一个缓冲区,该缓冲区用来存放recv函数接收到的数据; 参数三:指明buf的长度; 参数四:一般置为0; 返回值:失败时,返回值小于0;超时或对端主动关闭,返回值等于0;成功时,返回值是返回接收数据的...
- 2020-05-14 12:40anqiqi疯狂暴走兔的博客 所以可以使用while循环多次读文件,将每次读取的文件send出去,再继续读文件,再继续send,但是执行的时候发现代码会卡滞,文件传送不过去,这种时候,只需要让接收端在接收到文件后回发一个ACK(随便回发一个字符啥...
- 2023-07-09 18:50Lion 莱恩呀的博客 本文旨在了解到如何优化TCP Socket的读写操作,掌握read、recv、readv、write、send、sendv的最佳实践。文章将提供实用的技巧和建议,并介绍性能测试和调优的方法,帮助读者提升网络通信的效率和性能。
- 2020-03-09 19:57老王不让用的博客 =0 当返回值为0时,表示对端已经关闭了这个链接,我们应该自己关闭这个链接,即close(sockfd)。另外因为异步操作会用select或epoll做事件触发,所以: 1、如果使用select,应该使用FD_CLR(sockfd,fd_set)将sockfd...
- 2021-10-27 14:49卓耿Drogon的博客 最近使用python socket做了一些程序,遇到了一些问题,后来逐一解决了。这里结合之前的认知,总结以下心得,避免后来人踩坑。 1、send和sendall的区别 发送方使用sendall,不要使用send。sendall在返回的时候,会...
- 2018-02-24 16:59祥林Love的博客 在网络中,要全局的标识一个参与通信的进程,需要三元组:协议,IP地址以及端口号。要描述两个应用进程之间的端到端的通信关联需要五元组:协议,信源主机IP,信源应用进程端口,信宿主机IP,信宿应用进程端口。为了...
- 2020-12-17 11:22weixin_39682673的博客 一. HTTP、Socket、TCP概念(简介)HTTP(单向):HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一...Socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个...
- 2020-03-26 16:36xiaowhy的博客 socket 非阻塞模式下的 recv 行为 非阻塞模式下如果当前无数据可读,recv 函数将立即返回,返回值为-1,错误码为EWOULDBLOCK。将客户端代码修成一下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
- 2018-04-07 21:04We_are_family678的博客 socket函数创建了一个socket fd,看一下socket fd的概念:套接字描述符是一个整数类型的值。每个进程的进程空间里都有一个套接字描述符表,该表中存放着套接字描述符和套接字数据结构的对应关系。该表中有一个字段...
- 2018-07-19 16:43焱齿的博客 在网络中,要全局的标识一个参与通信的进程,需要三元组:协议,IP地址以及端口号。要描述两个应用进程之间的端到端的通信关联需要五元组:协议,信源主机IP,信源应用进程端口,信宿主机IP,信宿应用进程端口。...
- 2024-06-08 11:01w风雨无阻w的博客 面向连接TCP 需要在数据传输开始前建立一个连接。通过三次握手过程,客户端和服务器交换初始序列号,建立稳定的连接。字节流与数据报(如 UDP)不同,TCP 将数据视为字节流,而不是独立的数据包。这意味着 TCP 不...
- 病树前头的博客 slurm_load_jobs error: Socket timed out on send/recv operation
- 2020-04-18 19:45modi000的博客 1、recv()函数 recv()函数用于socket通信中接收消息 #include <sys/types.h> #include<sys/socket.h>...ssize_t recv(int sockfd, void *buff,size_t ...buff:指向一个缓冲区,用来存放接收的数据 ...
- 2018-06-27 21:53我什么都布吉岛的博客 本文参考的是《Socket通信原理》...TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,...
- 2017-11-23 10:24晨风夕月阶柳庭花的博客 在发送端,一次发送4092个字节, 在接收端,一次接收4092个字节, 但是在接收端,偶尔会出现 socket.receive 接收不全的情况 , ret = sock.recv(bBuffer,iBufferLen,0); //也有可能无法收到全部数据! ...
- 2016-08-23 13:47ly0303521的博客 1、send函数 int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据...(1)第一个参数指定发送端套接字描述符; (2)第二
- 2017-02-19 21:13&小鹏鹏的博客 一个包没有固定长度,以太网限制在46-1500字节,1500就是以太网的MTU,超过这个量,TCP会为IP数据报设置偏移量进行分片传输,现在一般可允许应用层设置8k(NTFS系统)的缓冲区,8k的数据由底层分片,而应用层看来...
- 2020-01-16 11:14林新发的博客 import socket # 导入 socket 模块 from threading import Thread import time import json ADDRESS = ('127.0.0.1', 8712) # 绑定地址 g_socket_server = None # 负责监听的socket g_conn_pool = {} # 连接池...
- 没有解决我的问题, 去提问