2012-06-21 3 views
1

설명서에서 알 수 있듯이 QUdpSocket은 비동기식이지만 신호 readyRead()가 발생할 때 UI 스레드에서 소켓에서 읽기가 수행됩니다. 그 맞습니까? 그것은 성능 관점에서 안전합니까? 다른 스레드에서 소켓의 내용을 읽어야합니까?QUdpSocket 및 QThread

답변

2

처리 할 데이터가 많은지 여부는 모두 다릅니다. 나는 GUI 소켓을 사용하지 않고 avarage transfer ~ 20mbps로 TCP 소켓을 사용했다. 가장 좋은 것은 직접 확인하는 것입니다. 소켓을 다른 스레드로 옮길 필요가 없다고 생각합니다.

+0

나는 봅니다. 그래서, 당신의 의견으로는, 신호 readyRead()가 발생했을 때 UI/메인 스레드가 슬롯 바디를 exec할까요? – Blackbelt

+0

개체가이 스레드에서 생성 될 경우 UI 스레드에서 처리됩니다. 하지만 제가 말씀 드렸듯이 처리 슬롯이 많이 사용되지 않는지 확인해야합니다. –

+0

아니요 많은 시간을 요구하지 않지만 다른 스레드에서 처리 할 수 ​​있으면 더 행복해집니다. 이 스레드에서 소켓 객체를 이동하면 readData 신호가 나타납니다? – Blackbelt

관련 문제