草庐IT

Long_polling

全部标签

c - 为什么这个消息不仅在写入文件时显示(使用 poll C Linux 功能)?

我正在阅读有关C编程中的轮询的内容,并构建了一个在poll(2)manpage上给出的应用程序.例子如下:#include#include#include#includeintmain(){structpollfdfds[2];inttimeout_msecs=-1;intret;inti;/*OpenSTREAMSdevice.*/fds[0].fd=open("/home/jeshwanth/mywork/poll/dev0",O_RDONLY);fds[1].fd=open("/home/jeshwanth/mywork/poll/dev1",O_RDONLY);fds[0].e

linux - 当套接字在本地关闭时,poll() 无法检测到事件?

我正在从事一个项目,该项目将把TCP/IP客户端程序移植到嵌入式ARM-LinuxController板上。客户端程序最初是在epoll()中编写的。但是,目标平台很旧;唯一可用的内核是2.4.x,不支持epoll()。所以我决定重写poll()中的I/O循环。但是当我测试代码时,我发现poll()并没有像我预期的那样工作:当TCP/IP客户端套接字被另一个线程在本地关闭时,它不会返回。我写了一个非常简单的代码来做一些测试:#include#include#include#include#include#include#include#includestructpollfdfdList

python - 带有短命令的间歇性 "OSError: [Errno 7] Argument list too long"(~125 个字符)

此代码在Linux上的apache2+mod_wsgi下运行有时会产生以下输出。notes.pycmd_list=['abc_generate_pdf','--cdb-url-prefix',model.config('cdb_url_prefix'),'--request-cid',request_cid,]log.info("Abouttorun:{!r}".format(cmd_list))subprocess.Popen(cmd_list)...2014-07-1611:03:44,779INFOpid:17925,140353357215488abc.webapp.check

c - 如何在 C 中将 struct tm 转换为 long int?

这是一个简单的问题...有没有办法将structtmct;转换为长整数?这是我的代码的样子:structtmct;scanf("%d",&ct.tm_sec);scanf("%d",&ct.tm_min);scanf("%d",&ct.tm_hour);scanf("%d",&ct.tm_mday);scanf("%d",&ct.tm_mon);scanf("%d",&ct.tm_year); 最佳答案 您可以使用mktime()函数将structtm转换为time_t,这是一个整数值。

linux - X11 EvDev 触摸屏驱动程序 : Disable Long-Press Right-click on desktop

我正在设置一个自助服务终端系统,该系统在启动时自动全屏加载网页。标准的东西。问题是连接了Acer触摸屏,它与evdev驱动程序一起工作正常......但它工作得有点太好了。如果用户在屏幕上按住不放,则会生成右键单击并出现上下文菜单。这会导致界面出现一些问题,我需要禁用此功能,但我还没有找到这样做的方法。我对X11配置文件没有太多经验。有没有人有摆脱这个功能的经验?是否可以将触摸屏映射到通用鼠标驱动程序?系统是:-Ubuntu伴侣15.04-树莓派2-窗口管理器:火柴盒-浏览器:Chromium到目前为止,我已经对/usr/share/X11/xorg.conf.d中的10-evdev.

c - c中的poll函数是如何工作的?

我是套接字编程的新手,我想弄清楚轮询是如何工作的。所以我做了一个小示例程序。该程序似乎按照我的预期工作,但是当我注释掉具有intdummy的行时,for循环只运行一次迭代,而它应该执行十次.我不明白的是该变量与for循环有什么关系。该程序假设在3.5秒后打印“timeout”,如果有可用输入则打印“returnhit”。#include#includeintmain(intargc,char*argv[]){inta;intb;intc;charbuf[10];inti;structpollfdufds[1];ufds[0].fd=0;ufds[0].events=POLLIN;int

c++ - 为什么没有输入,poll 一直返回?

我写了一个小测试程序来弄清楚如何与poll交谈.我创建了三个文件testa,testb,testc并将字符串hello\n写入第一个。所以,这是我对poll的调用:poll(polls.data(),polls.size(),-1)根据联机帮助页,-1的超时应该表明系统调用永远不会超时。但是,它一直返回而没有任何内容可读。我总是消耗一个字节的输入,并且可以看到正在打印的hello\n,但poll并不止于此。它只是继续假装有东西可读。#include#include#include#include#include#include#include#include#include#inclu

linux - Linux 服务器上的 SFTP 给出错误 "Received message too long"

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭去年。Improvethisquestion我最近尝试使用sftp访问我的linuxbox,我在其中实现了一个我自己的简单shell。我将除root以外的用户设置为默认使用我的s

我们可以对未命名的管道使用 poll 函数吗?

我正在尝试编写一个程序,我需要在其中监视某些事件的未命名管道的末端。我可以使用带轮询功能的未命名管道吗?如果是,请告诉我带有功能描述符的poll函数的语法 最佳答案 投票示例使用poll检查readfd是否可读或writefd是否可写:intreadfd;intwritefd;//initializereadfd&writefd,...//e.g.with:open(2),socket(2),pipe(2),dup(2)syscallsstructpollfdfdtab[2];memset(fdtab,0,sizeof(fdtab)

c - 有没有比 select() 和 poll() 更快的非阻塞方法来检查数据?

我有一个C程序使用sendto()方法尽可能快地从发送方向接收方发送数据,接收方使用recvfrom()方法接收数据。数据被封装到第2层以太网帧中,应用程序将以太网帧直接写入线路(没有TCP或UDP甚至IP)。这是在x86_64Linux上(开发机器只是股票Ubuntu14.04)。我无意移植到任何其他操作系统,应用程序设计范围是针对Linux的,因此其他操作系统无关紧要。发件人:while(true){sendResult=sendto(sockFD,txBuffer,fSize+headersLength,0,(structsockaddr*)&socket_address,siz