inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Tuyển tập phát triển game MMORPG bằng C++ và Unreal] Phần 4: Máy chủ game

tùy chọn ổ cắm

linger와 shutdown에 관한 질문입니다.

413

Sungwon Jung

19 câu hỏi đã được viết

0

궁금한것이 생겨서 질문남깁니다.

1. linger옵션을 이용해서 

onoff를 1로 두고, 시간을 적당히 셋팅한 후에

위에 옵션을 적용한 소켓을 대상으로 shutdown을 호출해서

SD_SEND로 Send를 막으면 어떻게 되는지 궁금합니다.

2. 상대방이 할말이 있어도 closesocket을 호출해도 상관은 없다는 점에 있어서 만약,  아주 극적이게도 아이템 거래같은 중요한 정보가 서버로 날라오는 도중에 서버에서 closesocket을 호출해서 닫혀 있으면 해당 정보가 DB에 적용되지 않을 것 같은데, 이런 경우는 없는 것인지 궁금합니다.

network MMORPG windows-server

Câu trả lời 2

0

Sungwon Jung

감사합니다

0

Rookiss

1.
shutdown은 정확히 말하면 어플리케이션 버퍼에서
커널 버퍼로 복사할 수 없게 만드는 쪽에 가깝기 때문에
기존에 커널 버퍼에 있던 내용의 전달까지 막는 것은 아닙니다.

2.
DB에 적용되지 않는 경우를 예방하기 위해 보통 먼저 DB에 정보를 먼저 저장한 다음,
DB 저장이 성공적으로 이루어지면 해당 정보를 서버 메모리에도 이어서 적용을 하게 되는데요.
이 때 이런 저런 이유로 통신이 끊긴다거나 서버 크래시가 난다면
어차피 서버를 다시 띄울 때 DB에서 정보를
다시 긁어서 적용할 것이기 때문에 아무런 문제가 없습니다.

writeLock을 잡을때 꼭 empty 상태여야하는 이유?

0

36

2

Memory Pool에서 오버플로우 질문입니다.

0

73

2

포토폴리오 및 진로 관련하여 고민입니다.

0

129

1

포토폴리오 관련 고민입니다.

0

66

1

실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.

0

89

2

성능 테스트 결과

0

108

2

게임 서버 Stateful, Stateless 진로 고민

0

133

1

WaitOnAddress와 Sleep의 차이 질문

0

84

1

궁금한거 있습니다.

0

84

2

JobTimer 구동 스레드

0

108

2

TryPop() 동작 관련 질문

0

81

1

로드맵 C#서버 C++서버 방향성 질문

0

151

2

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

0

73

1

생명주기를 위한 의도적 복사

0

88

2

락프리의 실무에서 사용 질문

0

146

2

32bit threadID와 16비트 상위 WriteFlag에 대해

0

105

2

mutex와 sleep 차이점

0

120

1

실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다

0

160

2

Stomp Allocator의 Release함수에 대한 질문입니다.

0

98

1

공부법 관련해서

0

184

2

MakeShared 함수 관련

0

114

1

지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.

0

145

2

운영체제관련 질문입니다

0

132

1

send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.

0

120

2