Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[7879] Re:[질문]이게 무슨 오류인지 가르쳐 주세요.
이경문 [gilgil] 1338 읽음    2002-01-13 20:39
음성채팅은 runtime error가 날 수 있는 경우가 무수히 많습니다, 아무리 잘 짠 프로그램이라고 하더라두요.
제 예상에는 프로그램에 결함이 있지 않을 까 하는 생각이 드는데요, ES197x.drv 가 어떤 역할을 하는 것인지는 모르겠지만 이런 부류의 오류를 잡기란 쉬운 것이 아닙니다.
일단 application에 결함이 있다고 가정을 하면, 경험상 다음과 같은 원인이 있을 수 있습니다.

1. 일시적인 네트워크 불안정:
네크워크가 갑자기 부하가 많이 가서 패킷의 송수신이 제대로 안되는 경우 송신/수신버퍼에 문제가 생길 수 있습니다. 만약 수신버퍼의 크기가 fix되어 있다면 수신된 음성데이타의 overflow등이 문제가 될 수 있습니다.

2. 일시적인 CPU 작동:
Windows OS가 멀티방식이기 때문에 다른 process로 인하여 음성처리 루틴이 제시간(예상보다 몇 msec 전에 수행될 수도 있고 후에 수행될 수도 있음)에 처리되지 않을 수 있습니다. 이 경우에도 1번과 같은 현상이 날 수 있습니다.

3. Thread Programming 오류:
일반적으로 송신은 "음성입력->송신" 이라는 간단한 flow를 가지지만 수신은 "수신->버퍼저장->음성출력"으로 thread를 분리하는 방식을 많이 사용하고 있습니다. 여기에서 thread동기화를 맞추는 영역에서 에러가 날 수 있습니다.

4. Sound Device 모듈 오류:
Sound Device(사운드카드나 USB Phone등)를 처리하는 루틴에 오류가 날 수 있습니다. 이 또한 callback과 thread switching을 프로그래머가 어느정도 신경을 써 줘야 하는 데, 상당히 골치아픈 일입니다.

5. winsock 오류:
만약 음성송수신을 tcp/ip로 했다면 문제가 발생할 수 있습니다. 즉 send를 했다고 해서 peer에게 곧바로 send되는 것이 아니고 winsock과 네트워크카드, roughter등 프로그래머는 모르는 곳에서 일시적인 버퍼 overflow가 날 수 있습니다. 정확히 send했을 때 제대로 send되었는지를 확인해 보시기 바랍니다.

음성채팅 버그 잡는 것이 어려운 이유가 실시간을 요하기 때문입니다. 일일히 break point를 이용해 디버깅할 수도 없고... 가능하다면 소스를 올리시면 관련 현상을 보도록 하겠습니다.

김회현 님이 쓰신 글 :
:
: 1:1 음성채팅 프로그램을 만들고 있는데요.
:
: 한 2시간 정도 돌리면
:
: "프로그램에서 오류가 발생했습니다.... 닫기 무시"
: 이런 메세지박스가 뜹니다.
:
: 닫기를 누르면 또
: "04!:00002bfb의 모듈 ES197X.DRV 에서 chatPhone 잘못된 페이지 오류 발생"
: 이란 메세지 박스가 또 뜹니다.
: chatPhone 가 프로그램명 입니다.
:
: 대체 무슨 문제 때문인지 모르겠습니다.
:
: 짐작 가는 부분이라도 있으신 분은 답글 주세요.
:
:
:

:

+ -

관련 글 리스트
7869 [질문]이게 무슨 오류인지 가르쳐 주세요. 김회현 983 2002/01/12
7890     Re:[질문]모두들 고마워여. 문제 해결 했습니다. 김회현 1828 2002/01/17
7900         Re: 정확한 것은 아니지만 의심가는 구석이... 이경문 2556 2002/01/19
7897         축하 드립니다... ^.^ 박정모 1077 2002/01/18
7879     Re:[질문]이게 무슨 오류인지 가르쳐 주세요. 이경문 1338 2002/01/13
7882         경문아 잘지내지^^ (냉무 -.-) 류종택 896 2002/01/14
7899             당근 잘 지내지여(냉유) 이경문 745 2002/01/19
7877     Re:[질문]이게 무슨 오류인지 가르쳐 주세요. 정남영 1020 2002/01/13
7875     Re:볼랜드소켓의 버그... 박지훈.임프 1111 2002/01/12
7874     그냥 흘러 들은 이야기인데요.. 류종택 1007 2002/01/12
7873     사과문 입니다. 박정모 935 2002/01/12
7871     Re:[질문]이게 무슨 오류인지 가르쳐 주세요. 박지훈.임프 1005 2002/01/12
7870     아마도 프로그램 구조상의 문제 - 특히 메모리 핸들링 - 일 겁니다. 박정모 1206 2002/01/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.