recv相关内容

Socket.recv为空,但结果显示在Maya中

我正在尝试将Maya中关节旋转的值获取到外部IDE中。我已经成功地发送了命令,并且Maya能够正确响应,但我在理解如何在IDE中接收回结果时遇到了问题。 我尝试使用socket.recv和socket.recvmsg,但两者都有错误。 在PyCharm中运行的代码 import socket host = 'localhost' port = 7720 code1 = ("se ..
发布时间:2022-09-05 11:32:45 Python

来自多个发件人的 UDP recv/recv

美好的一天, 我正在用 VC++ 开发一个应用程序,它使用 UDP 协议与 Windows XP 上的 winsock 进行通信.以前我可以假设该工具接收到的所有数据包都来自一个目标.但是我现在正在做广播接收.侦听线程的开销最小,应该将所有时间都花在下面的行上: rv = recvfrom(socket,p_buffer_p,p_size,0,(sockaddr*)&clientServi ..
发布时间:2022-01-22 17:23:57 C/C++开发

C++ 如何通过套接字发送对象?

我有个问题想问你. 我有这门课: ` #define DIMBLOCK 128#ifndef _BLOCCO_#define _BLOCCO_班级集团{上市:整数标识;字符*数据;块(int id);};#万一blocco::blocco(int id){身份证=身份证;数据 = 新字符 [DIMBLOCK];} ` 并且该应用程序有一个客户端和一个服务器.在我的服务器的主体 ..
发布时间:2021-12-28 13:06:14 C/C++开发

Python套接字接收-传入的数据包总是有不同的大小

我将 SocketServer 模块用于 TCP 服务器.我在使用 recv() 函数时遇到了一些问题,因为传入的数据包总是有不同的大小,所以如果我指定 recv(1024)(我试过一个更大的值,更小),它会在 2 或 3 个请求后卡住,因为数据包长度会更小(我认为),然后服务器卡住直到超时. 类测试(SocketServer.BaseRequestHandler):定义句柄(自我):打印“发件 ..
发布时间:2021-12-20 10:00:20 Python

判断socket上是否有Data剩余并丢弃

我正在 Linux 下编写一个从 TCP 套接字获取数据的接口.用户提供一个缓冲区,其中存储接收到的数据.如果提供的缓冲区太小,我只想返回一个错误.第一个问题是确定缓冲区是否太小.recv() 函数只返回实际写入缓冲区的字节数.如果我使用 recv() 联机帮助页上说明的 MSG_TRUNC 标志,它仍然会返回相同的信息.第二个问题是丢弃仍在套接字中排队的数据.因此,如果我确定我提供的 Buffe ..
发布时间:2021-12-11 11:57:03 服务器开发

套接字关闭时取消阻止 recvfrom

假设我启动了一个线程以在端口上接收.套接字调用将在 recvfrom 上阻塞.然后,在另一个线程中,我以某种方式关闭了套接字. 在 Windows 上,这将解除对 recvfrom 的阻塞,并且我的线程执行将终止. 在 Linux 上,这不会解除对 recvfrom 的阻塞,因此,我的线程永远不会执行任何操作,并且线程执行不会终止. 谁能帮助我了解 Linux 上发生的事情?当套 ..
发布时间:2021-12-11 11:55:05 其他开发

python socket.recv() 方法如何知道已经到达消息末尾?

假设我使用 1024 作为客户端套接字的缓冲区大小: recv(1024) 让我们假设服务器要发送给我的消息包含 2024 个字节.我的套接字只能接收 1024 个字节.其他 1000 个字节发生了什么? recv 方法是否会等待一段时间(比如 2 秒)以获取更多数据并在此时间跨度后停止工作?(即,如果剩余的数据在 3 秒后到达,套接字将不再接收数据?) 或 recv 方法在 ..
发布时间:2021-12-11 11:15:59 Python

在套接字库中调用 recv 时,我的 recv 缓冲区应该有多大

我有几个关于 C 语言套接字库的问题.这是我在问题中会参考的一段代码. char recv_buffer[3000];recv(socket, recv_buffer, 3000, 0); 我如何决定使 recv_buffer 有多大?我正在使用 3000,但它是任意的. 如果 recv() 收到比我的缓冲区大的数据包会怎样? 如何知道我是否在没有再次调用 recv 的情况下收到了整条消息 ..
发布时间:2021-12-11 11:09:29 其他开发

在 C 中通过套接字传递结构

我试图将整个结构从客户端传递到服务器,反之亦然.让我们假设我的结构如下 struct temp {一个;字符 b;} 我正在使用 sendto 并发送结构变量的地址并在另一端使用 recvfrom 函数接收它.但是我无法获得接收端发送的原始数据.在 sendto 函数中,我将接收到的数据保存到 struct temp 类型的变量中. n = sendto(sock, &pkt, sizeof ..
发布时间:2021-12-11 10:58:18 其他开发

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败软件导致连接中止:recv 失败

全部.这几天遇到了这个问题,这是详细的堆栈信息: org.springframework.dao.RecoverableDataAccessException:### 更新数据库时出错.原因:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败从服务器成功接收的最后一个数据包是 18,940 毫秒前.最后一个成功发送到服务器 ..
发布时间:2021-11-20 22:12:59 Java开发

使用 select 系统调用阻止 recvfrom

我有一个 UDP 客户端,它必须从两个不同的套接字接收. 我正在使用 select 系统调用来复用 recv 调用. 但我看到客户端在第二个 recv 调用中被阻塞. 我该如何解决这个问题? struct timeval timeout;timeout.tv_sec = 1;timeout.tv_usec = 0;内部活动;FD_ZERO(&socketfds);FD_SET(us ..
发布时间:2021-09-12 19:29:57 服务器开发

c 接收/发送相同的套接字

我很菜鸟,我有个问题想知道是否可以在同一个套接字上发送/接收,因为 recv/recvfrom 阻塞了我的代码? int main(void) {结构 sockaddr_in si_me, si_other;int s, i, slen=sizeof(si_other);字符缓冲区[BUFLEN];if ((s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))= ..
发布时间:2021-09-12 19:27:29 其他开发

来自多个发件人的 UDP 接收/接收

美好的一天, 我正在 VC++ 中开发一个应用程序,该应用程序使用 UDP 协议与 Windows XP 上的 winsock 进行通信.以前,我已经能够假设该工具接收的所有数据包都来自单个目标.但是我现在正在做广播接收.侦听线程的开销最小,应将所有时间都花在以下行上: rv = recvfrom(socket,p_buffer_p,p_size,0,(sockaddr*)&clientS ..
发布时间:2021-09-12 19:26:07 C/C++开发

如果接收到有效负载大小为 0 的有效 TCP 数据包,recv() 将返回什么值

在TCP套接字编程中,如果recv()返回0,则认为对方关闭了连接.但是,AFAIK,TCP RFC 并没有要求 TCP 的有效载荷 > 0.因此,理论上,TCP 堆栈可以接收有效载荷为 0 的消息. 所以,本质上我的问题是,如果 recv() 收到一个有效载荷大小为 0 的数据包,它会返回什么?如果它返回 0,那么我们如何将它与关闭的连接指示区分开来. 解决方案 有效载荷大小为 0 ..
发布时间:2021-09-04 19:52:46 其他开发

对 send() 的多次调用合并为对 recv() 的一次调用

我有一个客户端-服务器应用程序. 客户端使用两个不同的 send() 调用发送一个字符串,后跟一个整数.这两个数据应该存储在服务器上的两个不同变量中. 问题是发送的两个变量都是在 recv() 调用时收到的.因此,两个不同的 send() 发送的两个字符串被链接起来并存储在第一个 recv() 的缓冲区中. server.c: printf("来自客户端 %s 的传入连接:%i ..
发布时间:2021-09-04 19:51:50 其他开发

从结构体发送数据,套接字编程

我有一个学校的作业,其中一部分是使用套接字编程将一组整数、字符 char* 从客户端发送到服务器.发送整数或字符工作得很好,但是有没有办法将整个结构作为一个数据包发送?阅读有关序列化的信息,但我似乎无法使其正常工作.这是一个代码片段: 结构如下所示:结构体消息{一个;字符 b;字符 * 用户;};客户:初始化变量等...int netcom(char* ip, int port) {sd = 套 ..
发布时间:2021-08-31 19:10:58 其他开发

实时操作系统上的 UDP 非阻塞套接字:sendto() 和 recvfrom() 可以返回部分消息?

这是我在这里的第一条消息.我正在实时操作系统(OnTime 和 VxWorks)上使用非阻塞 UDP 套接字.我已经阅读了文档和一些论坛,但我对 sendto() 和 recvfrom() 函数的“原子性"有一些疑问: sendto() 返回入队或错误的字节数.它是否可能小于输入缓冲区长度?也许输出缓冲区没有足够的可用空间,只有几个字节被排队...... recvfrom() 返回接收 ..
发布时间:2021-07-05 18:51:07 其他开发

Python - 将 sock.recv 转换为字符串

我正在研究 Python 和网络. 虽然为真:数据 = sock.recv(10240) 这绝对是在听.不过好像需要转成文本字符串. 我见过一些人使用 struct.unpack(),但我不确定它究竟是如何工作的.有什么方法可以转换? 解决方案 你从 recv 是一个 bytes 字符串: 从套接字接收数据.返回值是一个字节对象,表示接收到的数据. 在 Python ..
发布时间:2021-06-28 19:19:41 Python

套接字选择()与非块接收

我看过一些比较 select() 与 poll() 或 epoll() 的文章,我已经看过许多讨论 select() 与多个套接字的实际用法的指南. 然而,我似乎无法找到与没有 select() 的非阻塞 recv() 调用的比较.如果只有 1 个要读取的套接字和 1 个要写入的套接字,是否有任何理由使用 select() 调用?recv() 方法可以设置为在没有可用数据时不阻塞并返回错误( ..
发布时间:2021-06-08 18:52:08 其他开发

如果在超时发生之前没有收到数据,Python 的 socket.recv() 为非阻塞套接字返回什么?

基本上,我在几个地方读到 socket.recv() 将返回它可以读取的任何内容,或者一个空字符串表示对方已经关闭(官方文档不甚至没有提到连接关闭时它返回的内容......太好了!).这对于阻塞套接字来说很好,很花哨,因为我们知道 recv() 只在确实有东西要接收时才返回,所以当它返回一个空字符串时,它必须 表示对方关闭了连接,对吧? 好吧,但是当我的套接字非阻塞时会发生什么??我已经搜索 ..
发布时间:2021-06-08 18:51:34 Python