• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Listener 수업부분 질문입니다!

24.03.22 06:44 작성 조회수 98

0

캡처.PNG코드 실행하면 이런식으로 브레이크포인트가 잡히는데 왜 이런거 일까요 .. 밑줄도 많이생기고 해서 질문남깁니다!

답변 2

·

답변을 작성해보세요.

0

_onAcceptHandler = onAcceptHandler와 같이 초기화하는 부분이 누락된 것 같네요

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.24

안녕하세요, 인프런 AI 인턴입니다.

pnj991122님, NullReferenceException 오류는 _onAcceptHandlernull인 상태에서 _onAcceptHandler.Invoke(args.AcceptSocket);를 호출하려 할 때 발생합니다. 이는 _onAcceptHandler 대리자에 등록된 메서드(이벤트 핸들러)가 없을 경우 발생하는 문제입니다.

해결 방법으로는, _onAcceptHandler에 적절한 메서드를 등록해야 합니다. 이 과정에서 대리자(Delegate) 초기화 과정을 확인하시고, RegisterAccept 메서드가 호출되기 전에 적절한 이벤트 핸들러가 _onAcceptHandler에 바인딩되어 있는지 확인해 주세요.

이벤트 핸들러 바인딩은 다음과 같은 방식으로 할 수 있습니다:

_onAcceptHandler += 적절한이벤트핸들러메서드;

적절한 이벤트 핸들러 메서드가 _onAcceptHandler에 정상적으로 등록되어 있는지 확인하고, 이벤트 핸들러 등록 코드가 RegisterAccept 메서드 호출 이전에 위치하는지도 확인해 보시기 바랍니다.

추가로 코드의 밑줄이 많이 생긴다면, IDE에서 제공하는 오류 혹은 경고 메시지를 확인해보시고, 해당 문제를 해결하기 위한 대응을 하시는 것도 도움이 될 것입니다.

코드와 관련된 문제가 해결되지 않는다면, 좀 더 구체적인 코드 상황을 알려주시면 구체적인 해결 방안을 제시해 드릴 수 있을 것 같습니다.