C是一种通用编程语言,用于系统编程(OS和嵌入式),库,游戏和跨平台。此标记应与有关C语言的一般问题一起使用,如ISO 9899标准(最新版本,9899:2018,除非另有说明)中所定义 - 也使用c89,c99,c11等标记特定于版本的请求。 C与C ++不同,它不应该在没有合理理由的情况下与C ++标签结合使用。
Linux C select:管道回显输入有效,但从键盘读取无效?
我试图理解http://beej.us/guide/bgnet/examples/select.c(包含在下面供参考)。我正在这样做: :~$ 猫 /etc/issue Ubuntu 10.04 LTS \l :~$ gcc --版本 gcc(Ubuntu 4.4.3-
我们有客户端应用程序,用于侦听 UDP 多播源并处理传入数据。它是可移植的并且可以在 Windows 和 Linux 上运行。主处理循环使用select()等待数据,
为什么文件描述符 1 和 2 可以在手动输入时读取,但在输入重定向时却不能读取?
这个问题是“为什么 select() 说 stdout 和 stderr 已准备好读取而 stdin 已准备好写入?”的后续问题它作为“写入标准输入并读取...”的重复项而被关闭
Select 在输入文件中始终返回 0 我编写了一个函数来接收 FILE* 并检查它是否准备好。 功能: int ioManager_nextReady(FILE *IFILE) { // 设置输入文件 整数
我正在尝试创建一个线程来从套接字描述符中读取。我需要使用非阻塞循环来检查当前时间并在会话结束后关闭套接字,但 FD_ISSET 返回 0
这是一个与 select() 非常相似的问题,似乎不适用于 TTY,但我似乎没有在 FD_SET 上犯与那里的 OP 相同的错误。 在我的 Linux 机器上(运行 Ubuntu 20.04 LTS
我必须为我的IT学校制作一个简单的IRC客户端/服务器程序。主题要求我们使用 select(2) 进行套接字轮询,但禁止我们使用 O_NONBLOCK 套接字。 您的服务器将接受
使用 select() 时保留 readfds 副本的目的或优点是什么?
TL;博士;是否总是有必要或建议这样做,或者复制 select readfds fd_set 相对于“工作”fd_set 是否有任何优势?使用 writefds 和 exceptfds 时会发生什么? 这是我的第一次
Linux C 套接字 UDP 服务器。 select() 没有收到任何内容
自从我放入 select 语句后,我的 UDP 服务器在接受任何输入时遇到问题。目的是等待来自 2 个不同套接字(具有不同端口)的数据包。同时我...
为什么通过stdout清除终端后,没有出现stderr输出?
我想在清除终端后打印错误,但是错误不出现: #包括 int main (int argc, char **argv) { printf(" [2J [1;1H");
我正在用 C 语言开发服务器/客户端应用程序 实际上,我试图允许服务器接受新客户端并(几乎)同时接收数据。 我发送数据两次,第一次...
嗨,我正在阅读 Beej 指南中有关使用 select() 的非阻塞调用的信息,但我仍然对如何将简单的客户端-服务器代码更改为非阻塞代码感到困惑。谁能告诉我...
我正在制作一个udp客户端。我正在使用 select 函数来实现超时: FD_ZERO(&stReadFDS); FD_SET(clientSock, &stReadFDS); int t = 选择(1, ...
C 套接字 - 并非所有套接字都在 select() 中接收
我的多线程项目有一个问题:我创建了一些线程,这些线程必须彼此发送和接收 udp 消息,因此每个线程都使用 select() 监听多个套接字。
我正在尝试调试一个使用 select() 来实现通信超时的嵌入式应用程序。它是使用 pthreads 的多线程。 我遇到的问题是应用程序似乎崩溃了...
我必须创建一个包含两部分的程序:客户端/服务器。 我收到来自不同客户端的命令,我想让客户端在命令执行期间等待,但是,其他客户端必须...
让 select 和 xcb_poll_for_event 一起工作的安全方法?
我认为这个问题并不新鲜:我有一个线程应该从X服务器(通过XCB)和另一个通过TCP连接的服务器读取,因此需要调用select。 让我困惑的是,当 p...
据我所知,C 中的 select() 函数只能等待文件描述符变为活动状态(即读取它们而不阻塞。) 这对于命令行消息应用程序非常有用,因为
我用 select() 做了一个简单的服务器客户端程序,但问题是客户端没有收到欢迎消息。我之前在没有 select() 的情况下做过几次,它有效,但所有......
在大多数 Unix 系统中,键入 ctrl-d 表示标准输入上的 EOF。如果您输入会发生什么 当程序在调用 select 时被阻止时,按 ctrl-d 到程序中?这里的Select是参考事件