기존의 시리얼로 제어하는 프로그램에 서버가 추가되었습니다.. 그래서 처음 시리얼을 오픈할때 핸들값을 넘겨주는데 이 값이 이상한 값으려 변합니다..;; 도와주세요.. 왜 이렇게 되는지 모르겠습니다.. qt 하는 사람이 저 밖에 없어 답답한 맘에 질문합니다..

initWidget()   // 메인위제 초기화 하는 함수
{
   QServer *pQServer = new QServer(this);   // 서버 객체 포인터 생성
   QClient *pQClnt = new QClient(0,0);          // 소켓 객체 포인터 생성
   plc_fd = initPlcSerial();                                 // 시리얼 핸들값 리턴
   pQClnt->n_plc_fd = plc_fd                           // QClient 변수에게 넘겨준다.
}

initSubWidget()   // 서브 위젯 초기화 하는 함수
{
   pQPlcCtrl -> plc_comport = plc_fd               // 시리얼 핸들값을 넘겨준다.
}

slotReadClient()   // 클라이언트가 프로토콜을 보낼때 호출되는 함수
{
   char writeBuf[5] = {0x02, 0x00, 0x00, 0x00, 0x03};
   qDebug("Serial Test : %d", n_plc_fd);
}

처음 시리얼 핸들값을 넘겨주는 것은
클라이언트가 서버에게 메시지를 보내면 그 값에 따라 다시 시리얼로 보내주어야 합니다..
두번째에서 넘겨주는 것은 타켓 장비에서 제어할때 넘겨줍니다..
확인을 해 보니까 장비에서 제어할때는 시리얼 핸들값이 이상이 없는데 클라이언트에서 제어할때는 시리얼 값이 변합니다..
예를 들어 첨에 n_plc_fd 값이 6 이라면 slotReadClient 에서는 이상한 값으로 변합니다..
다른 곳에서 n_plc_fd 변경하는 곳은 없습니다.. 왜 이런 현상이 일어나는 것죠?? 도와주세요..;;