• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

[에러 공유] disposeed object

23.06.30 13:33 작성 조회수 198

0

args.connectedSocket을 socket으로 줄여쓰고 싶어서 이렇게 코드를 짜면 계속 disposed object 에러가 난다.

 

해결법 : socket변수를 따로 만들지 말고 루키스 선생님의 코드처럼 그냥 args에서 connectsocket을 가져와야된다.

 

https://stackoverflow.com/questions/71450166/when-is-an-object-disposed-if-it-uses-using-and-it-is-being-used-in-a-few-meth

 

영어가 미숙해서 정확히 이해는 못했지만 { }를 나갔다가 오면 문제가 생기는 듯하다

답변 1

답변을 작성해보세요.

0

Socket socket = args.ConnectSocket;으로 저장하면,
socket이 지역 변수에 들어갔다가 { } 사라지면 소멸되고
그 이외 부분에서 해당 args.ConnectSocket을 참조하는 곳이 없다보니
GC에 의해 해제되어 발생하는 문제 같네요.
(이러면 socket.RemoteEndPoint가 의미가 없어지겠죠.)

장재범님의 프로필

장재범

질문자

2023.06.30

그러게요 ㅠ..ㅠ 계속 disposed object 에러가 생겨서 구글을 뒤적뒤적 거리다가 발견해서 해결했네요 (선생님 설명보니 그냥 기본적인 것 같아보이지만요..ㅋㅋ OTL)

혹시 같은 에러로 고민하는 사람이 있을까봐 남겨놨어요 ><