서버 종료 및 재시작은 보통 어떻게 하나요?
540
작성한 질문수 5
클라이언트 같은 경우 Shutdown() , Close () 호출하도록 강의 또는 구글에서 찾을 수 있는데
서버 실행 후 종료 재실행 같은 기능이 필요하다면
중간에 종료는 보통 어떤식으로 처리 하시나요?
_listenSocket.Shutdown();를 사용하면 아래와 같은 Exception 에러 메세지가 뜨고
Listener Close Error : System.Net.Sockets.SocketException (0x80004005): 소켓이 연결되어 있지 않거나 Sendto 호출을 사용하여 데이터그램 소켓에 보내는 경우에 주소가 제공되지 않아서 데이터를 보내거나 받도록 요청할 수 없습니다.
UnityEngine.Debug:Log (object)
KETI.NET.SERVER.Listener:Close () (at Assets/Modules/Network/KetiNetwork/Scripts/Core/Listener.cs:75)
_listenSocket.Close(); 를 사용하면 OperationAborted 라는 메세지가 뜨고
다시 한번 _listenSocket.Init(); 함수를 사용하면 정상적으로 Client 접속이 안되더라구요.
답변 1
0
서버는 네트워크 외에도 게임 로직과 DB가 물려있는 매우 중요한 프로그램입니다.
네트워크는 끊긴 상태에서 몬스터가 유저를 죽이는 바람에 비싼 아이템을 떨구면 난리 나겠죠?
결론적으로 서버에서 재실행 기능은 필요하지 않고,
어떤 사유에 의해서 서버 재실행이 필요하다면
그냥 서버 전체를 내렸다가 다시 띄웁니다.
(즉 프로그램 재실행 한다는 말이죠)
게임 로직에서 크래시가 날 때도 마찬가지입니다.
괜히 살려보려고 try catch를 할 필요 없이
크래시가 나면 일단 서버를 뻗게 놔두고
덤프를 이용해 버그를 다 고친 다음에 다시 띄우게 됩니다.
TLS 질문드립니다.
0
35
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
39
2
Unity Span
0
66
2
XML, Dll 차이점
0
99
2
Session 질문입니다
0
74
1
Write Read 커서 키워드
0
69
1
더미 클라이언트 수에 따른 OnDisconnect 발생
0
65
2
네트워크 Send 전담 스레드 배치
0
94
2
UnhandledException 으로 서버 터지는 경우
0
82
2
컨텐츠 단, 엔진 단
0
100
1
질문 있습니다
0
73
2
C# 게임서버 3D MMORPG
0
141
2
유니티6 버전
0
94
2
receive하는 부분과 send하는 부분의 차이
0
128
2
커서의 위치의 중요성
0
99
2
C++ 전혀 모르는데 C# 서버
0
164
2
강의에 질문이 있습니다
0
83
2
멀티스레드 이해도 질문
0
90
1
500 vs 500
0
122
3
OnAcceptHandler 액션 함수
0
57
1
이 정도 서버의 객관적인 수준이 궁금합니다.
0
185
2
36. Serialization #3 에서 string (name) 코드 수정 질문
0
78
2
외부 컴퓨터와의 통신 방법이 궁금합니다
0
100
1
스핀락 질문.
0
104
2





