GUI 에서의 소켓 서버 의 구현..
글쓴이: skah2lp2 / 작성시간: 월, 2004/09/20 - 7:25오후
서버라는 것이
while(1){
recvfrom();
}
이런 형태로 데이터가 들어오기를 기다려야 하는데요...
..QT 프로그래밍에서 이렇게 쏘스를 써버리면.. GUI폼이 멈춰버리는 현상이
발생하는데요.. 이부분을 어떻게 처리해야 하죠..??
..그리고 QT 프로그램을 아시는 분이라면....
QT의 socketdevice 를 이용한 UDP 전송시.. unsigned short[76800]
만큼의 데이터를 받고 싶다면 어떻게 구성해야 하나요???
..답변 부탁드립니다.
.
Forums:
그건요...
Thread를 돌리면 해결됩니다.
별도 Thread를 돌려서 recv루틴을 호출해서 데이타를 receive 받구요...
Q_LONG QSocketDevice::readBlock ( char * data, Q_ULONG maxlen ) [virtual]
함수를 이용해서 원하시는 만큼의 데이타를 수신하면 됩니다.
http://www.korone.net QT 커뮤니티 사이트
흠 자세히는 말씀 못드리지만....저 같은 경우 Thread를 생
흠 자세히는 말씀 못드리지만....
저 같은 경우 Thread를 생성해서 그안에서 데이터를 받고 보내고 하는 루틴을 집어 넣었습니다.
다른 방법은 잘 모르겠네요..
이렇게 하면 되지 않을까요?
소스좀 올려주시면 안될까요?.....감이 안잡히네요. 그리고 아직
소스좀 올려주시면 안될까요?...
..감이 안잡히네요. 그리고 아직 쓰레드 생성
이쪽은 못하는 초보 라서요..
쓰레드가 QT의 쓰레드를 말씀하시는 건지요??
쓰레드라는게 잘은 모르지만 경량화 프로세스 인데..
각자의 메모리 공간을 가지고 있는 것으로 알고 있습니다.
저는 서버에서 받은 값이 영상데이터이기때문에..
특정 배열에 다시 할당해서 영상을 뿌려야 합니다.
쓰레드는 프로세스간의 데이터 전송이 가능하다는 말인지요?
궁금합니다.
소스하나 주시면 감사 하겠습니다..
프로세스는 각각의 메모리 공간이 있지만,쓰레드는 하나의 프로세스 내에
프로세스는 각각의 메모리 공간이 있지만,
쓰레드는 하나의 프로세스 내에서 메모리, Signal, File descriptor 등을 공유합니다.
삽질의 대마왕...
감사합니다.... 그렇군요.. 지금 다시 소스 수정해봐야겠네요..
감사합니다.... 그렇군요.. 지금 다시 소스 수정해봐야겠네요..
질문을 잘 이해 못했는데...QThread를 상속받어서 데이터 읽는
질문을 잘 이해 못했는데...
QThread를 상속받어서 데이터 읽는 루틴을 하나 만듭니다.
서버가 동작되고 원하는 시점에 Thread를 구동 시킵니다.
Thread안에서 데이터가 준비되면 thread안에서 QCustomEvent에 데이터를
담아 GUI쪽으로 전송합니다.
GUI쪽에서는 해당 이벤트가 오면 데이터를 받아서 처리합니다..
ㅎㅎㅎ
제가 써놓고도 이상하군요...
http://doc.trolltech.com/qq/qq09-networkthread.html
에 Non-Blocking Networting에 관한 내용이 있으니 참조하세요.
댓글 달기