小编Blo*_*orn的帖子

在套接字上设置超时不起作用

我正在使用该setsockopt()函数在函数上设置超时recvfrom().由于我使用的协议,我必须首先超时2秒,然后4,6,直到最大.但是当我使用该功能时,它似乎有0.01秒的超时,因为它无需等待即可发送8个数据包.

//more variables and code here
struct timeval timeout = {2,0};

while(1){
  setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(struct timeval));
  temp2 = recvfrom(sock, &buff, sizeof(buff), 0, (struct sockaddr *)&addr_server, sizeof(addr_server));

  if(temp2 < 0){ /* Timeout excedit (exceeded)*/
      temp = sendto(sock, (struct udp_PDU*)&reg_pdu, sizeof(reg_pdu), 0, (struct sockaddr *)&addr_server, sizeof(addr_server));
      if(temp == -1){
        printf("Error sendTo \n");
        exit(-1);
      }
      packet_counter++;
      debug("Enviat paquet REGISTER_REQ");
      if(packet_counter == 8) break;
      if((interval * max) > t ) timeout.tv_sec+=interval;

  }else{ /* s'han rebut dades (they have …
Run Code Online (Sandbox Code Playgroud)

c sockets udp timeout

1
推荐指数
1
解决办法
76
查看次数

Angular 如何在字段更新后执行函数。但是不是在每次更改时都这样做,而是在更改了 3 或 4 个字母之后

我有一个角度形式,我想建议用户根据他正在写的内容在输入中输入什么。

我显然可以使用指令 onChange 并对服务进行 api 调用,该服务在每次更改后提出建议。但我认为这不是一个好的实现,因为我会做与用户写的字母一样多的调用(以及可能的拼写错误)。所以这个想法是让这个 onChange 函数只在对字段进行 X 更改后才进行 api 调用。我怎样才能做到这一点?如何检查该字段是否已更改到足以进行另一个 api 调用以获取新建议?

directive onchange call angular

0
推荐指数
1
解决办法
4406
查看次数

标签 统计

angular ×1

c ×1

call ×1

directive ×1

onchange ×1

sockets ×1

timeout ×1

udp ×1