问题标签 [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 - 使用 Winsock 接收数据
现在,我正在为我的在线游戏编写网络程序,但我不确定如何接收数据。问题是我无法真正猜测数据包的大小,所以我想从数据包中仅读取 4 个字节并将它们转换为 int 以了解数据包的大小。然后我将创建一个该大小的缓冲区并接收数据包的其余部分,这是个好主意吗?
供您参考,我使用的是非阻塞 i/o。
python - python socket.recv/sendall 调用阻塞
由于我无法创建新标签,因此该帖子被错误地标记为“发送”。
关于这个简单的回声服务器,我有一个非常基本的问题。以下是一些代码片段。
客户
服务器
现在这工作正常,除非客户端发送一个空字符串(通过点击返回键以响应“输入数据:”),在这种情况下我看到一些死锁行为。
现在,当用户在客户端按下 return 时究竟会发生什么?我只能想象 sendall 调用阻塞等待将一些数据添加到发送缓冲区,导致 recv 调用依次阻塞。这里发生了什么?
谢谢阅读!
sockets - socket通信中send()和recv()的行为
以下是设置:
这是我的问题:
1.客户端实际上在关闭之前收到了msg1,为什么会这样?
2.发送msg2正常返回。既然客户端收到msg1就关闭了,为什么send msg2成功了?
PS 我正在为 TCP 使用流套接字。
iphone - while(1) 阻止我的 recv 线程
我对这段代码有疑问。如您所见,使用内部线程 recv 启动,因此程序被阻塞等待给定但将继续执行,让任务锁定线程。我的程序将继续接收 recv 数据套接字 new_sd,因此我进入了一个无限循环(注释代码)。问题是通过在 recv 之前输入 while (1) 我的程序块,但没有正确插入它会收到一个字符串,但在那之后会停止。有人可以帮我让我的recv总是等待信息吗?在此先感谢您的帮助。
-(IBAction)聊天{
-(无效)riceviDatiServer{
c - C 套接字编程:调用 recv() 会更改我的套接字文件描述符?
大家好,我对recv() 有这个奇怪的问题。我正在编写客户端/服务器,客户端发送()一条消息(确切地说是一个结构)和服务器recv()它。我也在使用多个套接字和 select()。
我遇到的问题是read_set
,0~3 没有设置,4 是。那也行。但是当我打电话时recv()
,i
突然变成0。这是为什么?对我来说,为什么recv()
要使用套接字文件描述符编号并修改为另一个编号是没有意义的。这正常吗?我错过了什么吗?
这就是它打印出来的。
c - realloc() 为 recv() 中使用的缓冲区分配内存
我需要从套接字接收 recv() 数据并将其存储到缓冲区中,但我需要确保获取所有数据,以便循环使用。因此,为了确保缓冲区中的空间不会用完,我尝试使用 realloc 来调整分配给缓冲区的内存大小。到目前为止,我有:
但是,这似乎无法正常工作,因为 Valgrind 抱怨“valgrind:‘不可能’发生了:”。关于如何正确完成此操作的任何建议?
谢谢, 赫里斯托
更新...我意识到我使用 realloc 不正确。这是一个修订版:
然而,valgrind 仍然在抱怨:
c++ - 套接字和多线程
我有一个有趣的(对我来说)问题......有两个线程,一个用于从标准输入捕获数据并通过套接字将其发送到服务器,另一个用于从阻塞套接字接收数据。所以,当服务器没有回复时,recv() 调用会无限等待,对吧?但是,它不仅阻塞了它的调用线程,还阻塞了整个进程!为什么会出现这种情况?
c - recv 返回旧数据
该循环应该逐行从套接字中获取数据并将其放入缓冲区中。出于某种原因,当没有新数据要返回时,recv 返回它得到的最后几行。我可以通过注释掉第一个 recv 来阻止这个错误,但是我不知道下一行会有多长时间。我知道这不是一个
python - python socket.socket.recv 隐藏输入
有什么方法可以socket.socket.recv
使用隐藏输入运行。例如,如果我要求输入密码,我希望隐藏输入,就好像我正在运行“sudo”bash 命令一样。
编辑:
socket.socket.recv
要求远程端的数据。当您连接到服务器时,它会要求您输入文本,当您输入文本时,它将显示在您的控制台中。现在,当您使用 sudo 命令时,它会要求您输入密码,但您看不到您输入的文本。我想要这样的东西socket.sock.recv
,这样你就不会看到你输入的密码。
编辑2:
当我说socket.socket.recv
我实际上是指socket._socketobject.recv
在我的程序中看起来像这样的东西时:client.recv(BUF_SIZE)
.
编辑 3:
我正在制作一个 telnet 服务器。client.recv(BUF_SIZE)
就像跑步raw_input
在客户端计算机上。那么有什么类似于getpass.getpass
在客户端计算机上运行的东西吗?
c - 在套接字库中调用 recv 时,我的 recv 缓冲区应该有多大
我对 C 中的套接字库有一些疑问。这是我将在我的问题中引用的代码片段。
- 我如何决定做多大的recv_buffer?我使用的是 3000,但它是任意的。
- 如果
recv()
收到比我的缓冲区大的数据包会发生什么? - 我怎么知道我是否已经收到了整个消息而无需再次调用 recv 并在没有收到任何内容时让它永远等待?
- 有没有办法让缓冲区没有固定数量的空间,这样我就可以继续添加它而不必担心空间不足?也许使用
strcat
连接recv()
到缓冲区的最新响应?
我知道这是一个很多问题,但我将非常感谢任何回应。