c 相关问题

C是一种通用编程语言,用于系统编程(OS和嵌入式),库,游戏和跨平台。此标记应与有关C语言的一般问题一起使用,如ISO 9899标准(最新版本,9899:2018,除非另有说明)中所定义 - 也使用c89,c99,c11等标记特定于版本的请求。 C与C ++不同,它不应该在没有合理理由的情况下与C ++标签结合使用。

c 中令人恼火的 select() 行为

同时(xxx){ timeout.tv_sec=超时; 超时.tv_usec=0; FD_ZERO(&set); FD_SET(sd,&set); 开关(选择(FD_SETSIZE,&设置,NULL,NULL,&超时)) xxxxx } 有效...

回答 3 投票 0

C 套接字:避免套接字关闭时产生垃圾

我正在使用非阻塞套接字(fd_sets和select函数)对服务器和客户端进行编程,一旦服务器关闭或关闭客户端套接字,客户端就会开始接收大量垃圾...

回答 2 投票 0

为什么客户端的socket close()不会导致服务器的select()返回

[我之前也问过类似的问题。这是一个更加集中的版本。] 什么会导致服务器对 TCP 套接字的 select() 调用始终超时,而不是“看到”客户端的 close()...

回答 3 投票 0

为什么在 select 中使用 writefds ?如何在实践中使用它们?

我正在Linux中设计一个C程序,其中有两个线程。一个主线程是 event_processor_thread,它执行主函数处理。第二个线程是 event_dispatcher 线程 ru...

回答 3 投票 0

select() 返回无效参数

我成功地从另一个线程的管道中读取数据,并打印输出(发生时在 ncurses 窗口中)。 由于各种原因,我需要一次扮演一个角色,而且我正在使用......

回答 4 投票 0

inotify api 在报告一两次后停止工作

我想测试inotify,所以从互联网上拿了几个例子,对其进行修改以学习各个方面,但失败了,因为它没有像我想要的那样工作。首先我尝试查看一个目录......

回答 2 投票 0

select 仅检查 fds 直到 255,而不检查 FD_SETSIZE

选择高于255的fd,不检查fd是否打开。这是我的示例代码: #包括 #包括 #包括 #包括 在...

回答 1 投票 0

为什么select()后FD_ISSET返回true

我是套接字编程的新手,我试图彻底理解它是如何工作的,但现在我真的陷入了 select() 。 问题是在我的代码中,在 select 检测到活动之后...

回答 2 投票 0

从多个套接字阻塞 select()

Unix/C 问题在这里。 我有多个套接字,我正在尝试轮询周期性数据。我不想选择无限期地等待,所以我有一个超时并且我正在循环中运行。我有...

回答 3 投票 0

使用 select 等待客户端套接字上的数据

有什么想法为什么当服务器在客户端等待 select 时写入套接字时,select 永远不会完成? 我正在使用 c 在套接字之间进行通信。我的客户端可以正常连接到我的服务器。

回答 1 投票 0

select() 调用的剩余时间

我在 Linux/ARM 平台上使用 select() 来查看 udp 套接字是否已收到数据包。我想知道如果 select 调用在超时之前返回,则还剩多少时间(有 de...

回答 5 投票 0

在非阻塞套接字连接中,select() 始终返回 1

我有这个代码段,旨在使用套接字连接连接到服务器。但是,如果它无法在一定时间内连接到服务器,我希望它停止尝试...

回答 2 投票 0

使用 select() 时 send() 会阻塞吗?

当通过调用 select() 向套接字发出可以写入的信号时,我如何知道可以在不阻塞的情况下发送多少数据? (在发送缓冲区已满等情况下) 是否包含在集合中

回答 2 投票 0

对非阻塞套接字使用 select()

我正在尝试使用 select 函数在服务器和 1 个客户端(不再)之间实现非阻塞 I/O,其中通信流畅(可以随时发送,而另一个客户端将在没有

回答 3 投票 0

选择与线程哪个更好?

在Linux中。 我想构建一个自动点击器,在按下按键时具有启用/禁用功能。显然,应该有两件事并行运行(答题器本身和启用/

回答 2 投票 0

当套接字关闭时取消阻止recvfrom

假设我启动一个线程在端口上接收。套接字调用将在recvfrom 上阻塞。 然后,以某种方式在另一个线程中,我关闭了套接字。 在 Windows 上,这将解锁 recvfrom 和我的线程

回答 4 投票 0

linux:select的第一个参数

int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); 对于第一个参数 nfds,这是我从 wiki 得到的: 这是比...大一的整数

回答 1 投票 0

select系统调用之间是否需要重置fd_set?

我在 Unix 中使用 select 函数时遇到问题。 我有一台等待连接的服务器。首先,我使用 FD_SET 将侦听套接字文件描述符侦听器添加到 fd_set readfds(

回答 2 投票 0

如何使read()非阻塞并重置read()

所以我做了这个功能,它的作用就像倒计时。我想在倒计时减少时读取命令。我的大问题是让 read() 在倒计时减少时等待输入。当你...

回答 1 投票 0

使用 select(...) 作为事件驱动循环?

... /* 初始化输入集 */ FD_ZERO(&输入); FD_SET(fd, &输入); FD_SET(袜子,&输入); max_fd = (sock > fd ? sock : fd) + 1; /* 进行选择 */ n = 选择(max_fd,&输入,

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.