问题标签 [recv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
204 浏览

c++ - HTTP服务器,接受连接后,我从recv()返回-1

我必须为 C++ 中的一个类实现一个 HTTP 服务器,但是在接受连接后,recv()只返回 -1。我怎样才能解决这个问题?我在下面发布了我的代码。

0 投票
2 回答
2265 浏览

network-programming - 将 recvfrom() 与原始套接字一起使用:一般疑问

我创建了一个原始套接字,它从数据链路层获取所有 IPv4 数据包(删除了数据链路层标头)。并且为了阅读我使用的数据包recvfrom

我的疑问是:假设由于操作系统进行了一些调度,我的进程休眠了 1 秒。当它醒来时,它recvfrom在这个原始套接字上做了(要接收的字节数说 1000)(目的是只接收一个IPv4 数据包并说这个数据包的大小是 380 字节)。并且假设在此期间许多网络应用程序也在同时运行,因此所有 IPv4 数据包必须已在此套接字的接收缓冲区中排队。所以现在recvfrom将返回所有 1000 个字节(以及从第 381 个字节开始的其他 IPv4 数据包),因为它的缓冲区中有足够的数据可以返回。虽然我的程序只能理解一个 IPv4 数据包

那么如何预防这件事呢?我是否应该逐字节读取并解析每个字节,但效率很低。

0 投票
2 回答
1253 浏览

c - recv() 函数标志,用于在一个字符串中获取 while 缓冲区 [windows C]

此代码完美地发送和接收 txt 文件,但无法将其发送到 .exe 或 .img 等其他格式。请帮我解决这些问题,因为我需要使用 htonl 或 htons?看一看!!

这是服务器端recv函数::

0 投票
2 回答
3940 浏览

c++ - c++ Socket 选择和接收问题

下面是我遇到的套接字编程问题的代码片段。在选择调用之后,如果我没有在第 9 行休眠,在 Windows XP 上,第 11 行接收到 1 个字节(而不是从服务器发送 4 个字节作为整数),当我检查 xmlSize 时,它​​设置为 0。因为 iResult 为 1,所以继续执行并在第 15 行第二次接收调用时使用 xmlSize=0,并且 iResult 设置为 0,之后因为 iResult=0 连接被关闭。

但是在 Windows 7 上这并没有发生,程序愉快地读取了 4 个字节并继续正常执行。但是在 XP 上,我睡了(我只是编造的)并且它起作用了,但是为什么?

这段代码有什么缺陷?

0 投票
1 回答
3005 浏览

ruby - Ruby TCPSocket recv 阻塞且永不返回

所以,我有以下代码:

结尾

通常情况下,它工作得很好。我正在与之交谈的服务器通常会很快返回响应,并且一切都很好。

然后,今天,服务器出了点问题。不是我的问题,但是,这导致我的整个应用程序挂起,等待 recv 超时。这并不完全是最优的。

如果我没有立即听到回音,有没有办法让 recv 超时?我尝试查看 ruby​​ 文档,但它真的让我感到困惑(即 TCPSocket 只实现了三个方法,它们都没有 open 或 recv,它的 Socket 父类也没有实现这些方法。而且 Socket 的父类似乎是 Object ? 我完全糊涂了)

0 投票
1 回答
1368 浏览

c++ - Winsock2 recv() 挂钩到远程进程

我试图将自定义 recv() winsock2.0 方法连接到远程进程,以便执行我的函数而不是进程中的函数,我一直在谷歌搜索,我发现了一些非常好的示例,但它们缺乏描述

现在我的问题是,这是什么意思,或者说,这是某种指向真正 recv() 函数的指针吗?

然后是自定义函数的另一段代码

抱歉,如果这些问题听起来很基础,我是 2 或 3 周前才开始学习的。谢谢。

0 投票
2 回答
940 浏览

network-programming - recvfrom 最大缓冲区 TCP/IP

我正在编写一个小型 C 程序来理解套接字。从 recvfrom 返回的数据的最大长度是多少?

recvfrom(raw, packet_buffer, buf_size, ... );

linux中的最大buf_size是多少。是否有与此 size_t 相关的常数?

谢谢

0 投票
5 回答
12715 浏览

c - 套接字编程:recv/read 问题

编辑:下面的代码已修复为正确接收和发送,并考虑发送和接收的消息的实际字节(后来感谢 EJP)

我在 Unix 中用 C 编程。

我有应该交换消息的服务器和客户端。虽然客户端似乎可以正常发送消息,但服务器没有收到客户端发送的消息。我试过使用recv()and read()(我知道它们实际上是一样的,但有额外的标志recv())但我没有运气,我不确定问题到底是什么。

sleep(3)每次发送消息后我都会输入客户端代码,但我看到一旦客户端和服务器连接,服务器立即关闭而不等待传入消息。我究竟做错了什么?

这是客户端代码:

这是服务器端

0 投票
2 回答
440 浏览

c - 对 recv() 感到困惑

请原谅,如果这个问题已经得到回答,但我找不到它。

我有点困惑recv()and recvfrom()。一旦服务器绑定地址(或接受 TCP 连接),recv()就会被调用。recv()是不断检查已发送的消息还是等到收到消息?如果确实等待,等待时间是多少?

不确定我是否有道理,但如果有人能启发我,我将不胜感激。

0 投票
3 回答
2620 浏览

sockets - 从 C 套接字读取十六进制缓冲区的问题

我正在使用 SDL_net 套接字 API 创建服务器和客户端。我可以轻松读取字符串缓冲区,但是当我尝试发送十六进制数据时,recv 获取长度,但我似乎无法读取缓冲区内容。

这是一个片段。缓冲区长度“ len ”已设置(即消息长度),但我无法获取消息缓冲区中的数据内容。一些示例bind_transmitter PDU 数据由随机客户端发送到该端口的服务器。我无法读取 PDU (SMPP)。