问题标签 [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.
c++ - HTTP服务器,接受连接后,我从recv()返回-1
我必须为 C++ 中的一个类实现一个 HTTP 服务器,但是在接受连接后,recv()
只返回 -1。我怎样才能解决这个问题?我在下面发布了我的代码。
network-programming - 将 recvfrom() 与原始套接字一起使用:一般疑问
我创建了一个原始套接字,它从数据链路层获取所有 IPv4 数据包(删除了数据链路层标头)。并且为了阅读我使用的数据包recvfrom
。
我的疑问是:假设由于操作系统进行了一些调度,我的进程休眠了 1 秒。当它醒来时,它recvfrom
在这个原始套接字上做了(要接收的字节数说 1000)(目的是只接收一个IPv4 数据包并说这个数据包的大小是 380 字节)。并且假设在此期间许多网络应用程序也在同时运行,因此所有 IPv4 数据包必须已在此套接字的接收缓冲区中排队。所以现在recvfrom
将返回所有 1000 个字节(以及从第 381 个字节开始的其他 IPv4 数据包),因为它的缓冲区中有足够的数据可以返回。虽然我的程序只能理解一个 IPv4 数据包
那么如何预防这件事呢?我是否应该逐字节读取并解析每个字节,但效率很低。
c - recv() 函数标志,用于在一个字符串中获取 while 缓冲区 [windows C]
此代码完美地发送和接收 txt 文件,但无法将其发送到 .exe 或 .img 等其他格式。请帮我解决这些问题,因为我需要使用 htonl 或 htons?看一看!!
这是服务器端recv函数::
c++ - c++ Socket 选择和接收问题
下面是我遇到的套接字编程问题的代码片段。在选择调用之后,如果我没有在第 9 行休眠,在 Windows XP 上,第 11 行接收到 1 个字节(而不是从服务器发送 4 个字节作为整数),当我检查 xmlSize 时,它设置为 0。因为 iResult 为 1,所以继续执行并在第 15 行第二次接收调用时使用 xmlSize=0,并且 iResult 设置为 0,之后因为 iResult=0 连接被关闭。
但是在 Windows 7 上这并没有发生,程序愉快地读取了 4 个字节并继续正常执行。但是在 XP 上,我睡了(我只是编造的)并且它起作用了,但是为什么?
这段代码有什么缺陷?
ruby - Ruby TCPSocket recv 阻塞且永不返回
所以,我有以下代码:
结尾
通常情况下,它工作得很好。我正在与之交谈的服务器通常会很快返回响应,并且一切都很好。
然后,今天,服务器出了点问题。不是我的问题,但是,这导致我的整个应用程序挂起,等待 recv 超时。这并不完全是最优的。
如果我没有立即听到回音,有没有办法让 recv 超时?我尝试查看 ruby 文档,但它真的让我感到困惑(即 TCPSocket 只实现了三个方法,它们都没有 open 或 recv,它的 Socket 父类也没有实现这些方法。而且 Socket 的父类似乎是 Object ? 我完全糊涂了)
c++ - Winsock2 recv() 挂钩到远程进程
我试图将自定义 recv() winsock2.0 方法连接到远程进程,以便执行我的函数而不是进程中的函数,我一直在谷歌搜索,我发现了一些非常好的示例,但它们缺乏描述
现在我的问题是,这是什么意思,或者说,这是某种指向真正 recv() 函数的指针吗?
然后是自定义函数的另一段代码
抱歉,如果这些问题听起来很基础,我是 2 或 3 周前才开始学习的。谢谢。
network-programming - recvfrom 最大缓冲区 TCP/IP
我正在编写一个小型 C 程序来理解套接字。从 recvfrom 返回的数据的最大长度是多少?
recvfrom(raw, packet_buffer, buf_size, ... );
linux中的最大buf_size是多少。是否有与此 size_t 相关的常数?
谢谢
c - 套接字编程:recv/read 问题
编辑:下面的代码已修复为正确接收和发送,并考虑发送和接收的消息的实际字节(后来感谢 EJP)
我在 Unix 中用 C 编程。
我有应该交换消息的服务器和客户端。虽然客户端似乎可以正常发送消息,但服务器没有收到客户端发送的消息。我试过使用recv()
and read()
(我知道它们实际上是一样的,但有额外的标志recv()
)但我没有运气,我不确定问题到底是什么。
sleep(3)
每次发送消息后我都会输入客户端代码,但我看到一旦客户端和服务器连接,服务器立即关闭而不等待传入消息。我究竟做错了什么?
这是客户端代码:
这是服务器端
c - 对 recv() 感到困惑
请原谅,如果这个问题已经得到回答,但我找不到它。
我有点困惑recv()
and recvfrom()
。一旦服务器绑定地址(或接受 TCP 连接),recv()
就会被调用。recv()
是不断检查已发送的消息还是等到收到消息?如果确实等待,等待时间是多少?
不确定我是否有道理,但如果有人能启发我,我将不胜感激。
sockets - 从 C 套接字读取十六进制缓冲区的问题
我正在使用 SDL_net 套接字 API 创建服务器和客户端。我可以轻松读取字符串缓冲区,但是当我尝试发送十六进制数据时,recv 获取长度,但我似乎无法读取缓冲区内容。
这是一个片段。缓冲区长度“ len ”已设置(即消息长度),但我无法获取消息缓冲区中的数据内容。一些示例bind_transmitter PDU 数据由随机客户端发送到该端口的服务器。我无法读取 PDU (SMPP)。