C에서 응답을 기다리지 않고 프로브 요청 보내기

프레디 유니콘

작업중인 프로젝트의 경우 선택한 SSID에 대해 정기적으로 프로브 요청 (10ms마다 ~ 10 개)을 보내야합니다.

현재 다음 코드로이 작업을 수행하고 있습니다.

char *args[] = {"iwlist", INTERFACE, "scan", "essid", ssid, (char *) NULL};
runQuietlyNonblocking(args);

여기서 runQuietlyNonblocking새 스레드가 완료 될 때까지 기다리지 않고 execvp 및 fork를 사용하여 args에서 명령을 실행합니다.

그러나 iwlist 스캔은 프로브 응답을 대기하고 새 프로브 요청을 작성하는 데 필요한 것보다 더 많은 시간이 걸리기 때문에 프로브 요청이 전송되지만 약 30 분 후에 약 10000 개의 스레드가 생기고 메모리 부족으로 인해 프로그램이 충돌합니다.

나는 raspbian lite가 설치된 라즈베리 파이에서 작업하고 있습니다. 답변을 기다릴 필요없이 프로브 요청을 보내는 더 좋은 방법이 있습니까? 프로브 요청을 수동으로 보내거나 iwlist에 응답을 찾지 않도록 지시 할 수 있습니까?

변형

몇 가지 옵션이 있습니다. 내가 아는 한 "w"매개 변수가있는 popen ()은 명령 실행을 기다리지 않지만 프로세스를 포크하고 pclose ()는 명령이 실행될 때까지 대기합니다. system ()은 명령 실행을 기다리지 만 다음과 같이 쉘에 공급할 수 있습니다.

system("iwlist wlan0 scan &")

즉, iwlist에 갇혀 있다면. 대안으로 wpa_supplicant를 사용해 볼 수 있습니다. 그것은 "scan"인터페이스와 "scan_results"를 가지고 있으며, 첫 번째는 요청을 보내고 나중에 결과를 제공합니다.

  for (;;)
  {
    FILE *fp = popen ("wpa_cli -i wlan0 scan", "w");
    if (fp)
      pclose (fp);
    sleep (1);
  }

(wpa_supplicant가 실행 중임을 의미합니다).

마지막으로, 자체 인터페이스로 백그라운드 스캔을 수행 할 수있는 드라이버가 있으며 독점 ​​Redpine 드라이버에서이를 확인했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

응답을 기다리지 않고 HTTPBuilder로 POST 요청 보내기

분류에서Dev

c # foreach : 서버에 요청을 보내고 응답 받기

분류에서Dev

Axios 및 Express : Express에 요청을 보내고 여러 단계로 응답 받기

분류에서Dev

응답을 기다리지 않고 GET 요청을 보내는 방법

분류에서Dev

curl을 http 요청으로 변환하고 C #에서 응답 받기

분류에서Dev

항상 요청하지 않고 클라이언트에 HTTP 응답 보내기

분류에서Dev

Express : 요청에 대한 응답을 보내지 않음

분류에서Dev

Node.js (node-pg) 또는 C (libpq)-응답을 기다리지 않고 PostgreSQL 요청을 수행합니까?

분류에서Dev

UIWebview의 하위보기가로드 요청에 응답하지 않습니다.

분류에서Dev

netty에서 요청을 받고 응답을 보냅니다.

분류에서Dev

axios 요청에 대한 응답으로 스트림 보내기

분류에서Dev

원격 웹 서비스에 SOAP 요청을 보내고 Apache Camel을 사용하여 응답 받기

분류에서Dev

Java에서 비동기 요청을 보내고 응답을 수집하는 방법

분류에서Dev

NodeJS 비동기 라이브러리는 요청을 비동기 적으로 보내지 않습니다.

분류에서Dev

응답 처리기를 설정하지 않고 socket.emit 요청에서 응답을받을 수 있습니까?

분류에서Dev

jsp-서블릿에 요청을 보내고 응답을 받고 URL을 엽니 다.

분류에서Dev

Twilio를 사용하여 SMS를 보내고 전화에서 응답을 기다렸다가 NodeJS에서 요청을 완료하는 방법

분류에서Dev

Symfony2 SwiftMailer-서버 응답을 기다리지 않고 이메일을 보내는 방법

분류에서Dev

NodeJS-여러 요청을 보내고 하나의 콜백으로 모든 응답을 처리합니다.

분류에서Dev

Akka HTTP POST 요청에서 JSON 본문을 읽고 최종 응답을 JSON 배열로 보내는 방법

분류에서Dev

서버에 HttpPost 보내기; 응답이 필요하지 않습니다

분류에서Dev

svn : 서버가 GET 요청에 대한 응답으로 예기치 않은 반환 값 (403 URL_Reputation_coaching)을 보냈습니다.

분류에서Dev

외부 API의 요청을 결합하고 Flask에서 응답으로 보내는 방법

분류에서Dev

응답을 읽지 않으면 HttpURLConnection이 요청을 보내지 않습니다.

분류에서Dev

GetAsync 요청 데이터가 반환됩니다. 그러나 페이지는 서버에서 응답을 기다리고 있습니다. FormsAuthentication 문제?

분류에서Dev

여러 비동기 API 요청을 보내고 응답을 병렬로 처리하는 적절한 방법은 무엇입니까?

분류에서Dev

내 응용 프로그램은 프론트 엔드에 의해 주어진 요청에 응답하고 CORS의 예외를 throw하지 않습니다

분류에서Dev

C # 단순 HTTP 서버가 브라우저에 응답을 보내지 않음

분류에서Dev

클라이언트에게 응답을 보내고 전체 기능을 즉시 종료하고 다음 콜백으로 돌아 가지 않는 방법

Related 관련 기사

  1. 1

    응답을 기다리지 않고 HTTPBuilder로 POST 요청 보내기

  2. 2

    c # foreach : 서버에 요청을 보내고 응답 받기

  3. 3

    Axios 및 Express : Express에 요청을 보내고 여러 단계로 응답 받기

  4. 4

    응답을 기다리지 않고 GET 요청을 보내는 방법

  5. 5

    curl을 http 요청으로 변환하고 C #에서 응답 받기

  6. 6

    항상 요청하지 않고 클라이언트에 HTTP 응답 보내기

  7. 7

    Express : 요청에 대한 응답을 보내지 않음

  8. 8

    Node.js (node-pg) 또는 C (libpq)-응답을 기다리지 않고 PostgreSQL 요청을 수행합니까?

  9. 9

    UIWebview의 하위보기가로드 요청에 응답하지 않습니다.

  10. 10

    netty에서 요청을 받고 응답을 보냅니다.

  11. 11

    axios 요청에 대한 응답으로 스트림 보내기

  12. 12

    원격 웹 서비스에 SOAP 요청을 보내고 Apache Camel을 사용하여 응답 받기

  13. 13

    Java에서 비동기 요청을 보내고 응답을 수집하는 방법

  14. 14

    NodeJS 비동기 라이브러리는 요청을 비동기 적으로 보내지 않습니다.

  15. 15

    응답 처리기를 설정하지 않고 socket.emit 요청에서 응답을받을 수 있습니까?

  16. 16

    jsp-서블릿에 요청을 보내고 응답을 받고 URL을 엽니 다.

  17. 17

    Twilio를 사용하여 SMS를 보내고 전화에서 응답을 기다렸다가 NodeJS에서 요청을 완료하는 방법

  18. 18

    Symfony2 SwiftMailer-서버 응답을 기다리지 않고 이메일을 보내는 방법

  19. 19

    NodeJS-여러 요청을 보내고 하나의 콜백으로 모든 응답을 처리합니다.

  20. 20

    Akka HTTP POST 요청에서 JSON 본문을 읽고 최종 응답을 JSON 배열로 보내는 방법

  21. 21

    서버에 HttpPost 보내기; 응답이 필요하지 않습니다

  22. 22

    svn : 서버가 GET 요청에 대한 응답으로 예기치 않은 반환 값 (403 URL_Reputation_coaching)을 보냈습니다.

  23. 23

    외부 API의 요청을 결합하고 Flask에서 응답으로 보내는 방법

  24. 24

    응답을 읽지 않으면 HttpURLConnection이 요청을 보내지 않습니다.

  25. 25

    GetAsync 요청 데이터가 반환됩니다. 그러나 페이지는 서버에서 응답을 기다리고 있습니다. FormsAuthentication 문제?

  26. 26

    여러 비동기 API 요청을 보내고 응답을 병렬로 처리하는 적절한 방법은 무엇입니까?

  27. 27

    내 응용 프로그램은 프론트 엔드에 의해 주어진 요청에 응답하고 CORS의 예외를 throw하지 않습니다

  28. 28

    C # 단순 HTTP 서버가 브라우저에 응답을 보내지 않음

  29. 29

    클라이언트에게 응답을 보내고 전체 기능을 즉시 종료하고 다음 콜백으로 돌아 가지 않는 방법

뜨겁다태그

보관