延迟读取文件?

时间:2018-11-22 08:47:58

标签: c linux polling

下面的输入文件行也被格式化为“ swi delay interval” 其中interval是一个整数,以毫秒为单位。 swi每次碰到这样一条线, 开关延迟读取(和处理)指定内容的输入文件的其余部分 时间长度。在此期间,交换机应继续监视和处理 从连接的设备收到的键盘命令和数据包。此功能模拟 延迟从交换机服务的主机接收数据包。

我考虑过使用wait(),但很快意识到这不是您要延迟的方式。我该怎么做呢?下面的代码是我现在从流量文件中读取的方式。我正在使用poll()监视其他文件描述符。

       /*Read the traffic file */
            while((ch = fgets(line, sizeof(line), fp) != NULL)){
                    if(line[0] == '#' || line[0] == ' ' || line[0] == '\n' || (!strstr(line, switchI))){
                            continue;
                    }
                    if(line[4] == 'd'){

                            strcpy(newline, line);
                            tempp = strtok(newline, " ");
                            tempp = strtok(NULL, " ");
                            strcpy(delay, tempp);
                            tempp = strtok(NULL, " ");
                            interval = atoi(tempp);
                            //printf("%s\n", line);
                            //printf("%s, %d\n", delay, interval);

 sw1 delay 2000
 sw1  100  101
 sw1  100  102
 sw1  100  700
 sw1 delay 2000
#
 sw2 delay 2000
 sw2  500  501
 sw2  500  502
 sw2  500  700
 sw2 delay 2000
 #  
  sw3 delay 2000
  sw3  200  201
  sw3  200  202
  sw3  200  700

0 个答案:

没有答案