|
도움말 감사합니다.
디버그창에서 보면서 이상한점을 발견하였습니다.
Socket Send를 SendData()라는 함수를 만들어 사용중이였습니다.
그런데 함수호출을 제대로 못하는듯 합니다.
Socket Connect 이벤트에서
SockData->SendData(UserPassOpcode,0,0);
이렇게 함수를 호출하는데
정상적이라면
int CSockData::SendData(unsigned char Index, int IntNum, char DbCopy)
이 함수를 호출해야 되는데
엉뚱한 곳 가버리네요
그리고
Socket->SendBuf()
함수를 이용하면 정상적으로 전송하는것 같습니다.
도대체 어떠한 이유로 이런 현상이 발생하는 걸까요??
아제나 님이 쓰신 글 :
: 소스 자체에는 문제가 없을거예요.
:
: 메모리 할당을 안 하고 쓰셨거나 다른 부분에 오류가 있어서 해당 문제가 발생하는 듯 싶습니다.
:
: 디버깅 창에 호출 스택을 참고해서 저 함수가 불리기 전의 위치를 참고해서 오류를 추적해보시기 바랍니다.
:
: 호출 스택 불러내기는 디버깅 모드에서 (CTRL+ALT+S) 입니다.
:
: 그럼 ^^
:
:
: 지푸라기 님이 쓰신 글 :
: : 안녕하세요
: : 소켓통신을 하는 프로그램을 개발하고있는데
: : 소켓통신하면서 에러가 발생해서 이렇게 문의를 드립니다.
: : 이전에는 이런 문제가 발생하지 않았는데 갑자기 나오네요
: : 우선 소켓통신을 하는데
: : Connecting 이벤트가 발생하고 연결이 되면
: : Connect 이벤트가 발생하는걸로 알고 있습니다.
: : 그래서 Connect이벤트가 발생했을때
: : 서버쪽으로 정보를 요청하는 메세지를 보내는데
: : 이과정에서 액세스 에러가 발생합니다.
: :
: : ScktComp.pas
: :
: : procedure TCustomWinSocket.Connect(Socket: TSocket);
: : begin
: : end;
: :
: : procedure TCustomWinSocket.Lock;
: : begin
: : FSocketLock.Enter; <- 이부분에서 액세스 에러가 발생합니다.
: : end;
: :
: : procedure TCustomWinSocket.Unlock;
: : begin
: : FSocketLock.Leave;
: : end;
: :
: : 발생하는 이유좀 알려주세요~~ㅠ_ㅠ
|