이 두 함수는 모두 무한 루프이며pcap_loop()와 gtk_main()이 호환되도록 새 스레드를 만드는 방법은 무엇입니까?
이고 프로그램이 동일한 스레드에서 호출되면 중단됩니다.
gtk_main();
...
pcap_loop(adhandle, 0, packet_handler, NULL);
내가 '시작'버튼을 클릭
, 나는pcap
시작
에 작업을 원하는, 그리고 내가 "중지"버튼을
pcap
정지을 누르면.
어떻게 하위 스레드를 만들고 pcap_loop(adhandle, 0, packet_handler, NULL);
을 대신 실행합니까?
'g_thread_create()'에 의해 생성 된 스레드 (자식 스레드)에서'gtk_text_view' (메인 스레드)에 무엇을 출력 할 수 있습니까? – httpinterpret
GTK의 쓰레드에 관한 문서를 읽으십시오. 'gdk_threads_enter()'와'gdk_threads_leave()'를 사용하여 GTK 호출을 둘러싸면 자식 스레드에서 GTK 함수를 호출 할 수 있습니다. – ptomato
고마워요, 조심스럽게 tuto을 읽어 보겠습니다 :) – httpinterpret