프로그램 에러 관련 질문...
클라이언트 코드에서
socket.Connect()를 통해 서버와 연결을 시도하는데, 이 부분에서 오류가 발생합니다.
System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (61): Connection refused [fe80::1%1]:7777
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at DummyClient.Program.Main(String[] args) in DummyClient/Program.cs:line 26
ServerCore와 동시에 실행할 때, 서버가 아직 열리지 않은 상태에서 Connect를 시도해서 오류가 나는 경우는 알겠는데, 어떨 때는 빌드 후 컴파일하고나서 계속 위와 같이 Connect 함수에서 에러만 뜨고 연결이 되지 않습니다.. 서버는 정상적으로 Init 함수가 실행되었습니다.
더욱 오리무중인건, 복불복 식으로 어떨 땐 정상적으로 동작하고 어떨 땐 에러가 발생합니다.
그래서 에러가 발생하면 프로그램을 종료시키고, 다시 컴파일시켜봅니다. 에러가 발생하지 않을 때까지요.
제가 원인을 제대로 몰라서 그런 것 같은데요, 혹시 이렇게 무식하게 계속 다시 컴파일하는 방법이 아니고 진짜 에러를 해결하는 방법이 무엇인지 궁금합니다.
답변 2
1
서버가 열리지 않아서 발생하는 문제를 잠시 예방하기 위해
클라에서 시작하자 마자 잠시 대기타도록
Sleep을 넣어주시면 될 것 같습니다.
재컴파일 부두술(?)로 해결하기 보다는
네트워크 함수에서 exception이 발생하면
그 사유를 콘솔 로그로 찍어서 살펴보고 고치는 쪽이 좋아 보입니다.
그리고 원래 네트워크 쪽은 일어날 수 있는 문제가 굉장히 많습니다.
에러가 나는 오류코드만 봐도 몇백개가 되기 때문에
그때 그때 찾아보고 고치는게 속편합니다.
0
제가 에러가 발생했을 때의 ip주소를 출력해봤는데요,
제 컴퓨터에서 AdGuard라는 DNS 우회 프로그램을 사용중인데, 꼭 에러가 발생할 땐 제 localhost 주소가 안 뜨고 다른 주소가 로그로 찍히더라구요
그래서 이 우회 프로그램을 끄고 컴파일을 했더니 예전에는 간헐적으로 에러가 발생했었는데 이제는 아예 에러가 발생하지 않게 되었습니다.
0
제 컴퓨터에서 dotnet 프로세스를 완전히 종료시키고 실행해보니 잘 되네요... 음.. 일단 아직 확실하게 검증이 된 건 아니지만 에러가 발생할 때는, 프로그램이 제대로 종료되지 않아서 발생한 문제로 추정이 됩니다.
TLS 질문드립니다.
0
52
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
55
2
Unity Span
0
81
2
XML, Dll 차이점
0
110
2
Session 질문입니다
0
81
1
Write Read 커서 키워드
0
78
1
더미 클라이언트 수에 따른 OnDisconnect 발생
0
73
2
네트워크 Send 전담 스레드 배치
0
100
2
UnhandledException 으로 서버 터지는 경우
0
88
2
컨텐츠 단, 엔진 단
0
106
1
질문 있습니다
0
78
2
C# 게임서버 3D MMORPG
0
152
2
유니티6 버전
0
100
2
receive하는 부분과 send하는 부분의 차이
0
134
2
커서의 위치의 중요성
0
105
2
C++ 전혀 모르는데 C# 서버
0
170
2
강의에 질문이 있습니다
0
88
2
멀티스레드 이해도 질문
0
96
1
500 vs 500
0
131
3
OnAcceptHandler 액션 함수
0
64
1
이 정도 서버의 객관적인 수준이 궁금합니다.
0
193
2
36. Serialization #3 에서 string (name) 코드 수정 질문
0
83
2
외부 컴퓨터와의 통신 방법이 궁금합니다
0
107
1
스핀락 질문.
0
111
2





