inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Listener

Listener관련 질문

224

BBAKK

작성한 질문수 35

0

다시 정주행하며 복습 중에 Listener 관련하여 궁금한게 있어서 여기에 질문합니다.

private void RegisterAccept(SocketAsyncEventArgs eventArgs)
{
	eventArgs.AcceptSocket = null;

	try
	{
		bool pending = _listeningSocket.AcceptAsync(eventArgs);
		if (pending == false)
			OnAcceptCompleted(null, eventArgs);
	}
	catch(Exception e)
	{
		Console.WriteLine(e);
	}
}

public void OnAcceptCompleted(object sender, SocketAsyncEventArgs eventArgs)
{
	try
	{
		if (eventArgs.SocketError == SocketError.Success)	
		{
			Session session = _sessionFactory.Invoke();
			session.Start(eventArgs.AcceptSocket);
			session.OnConnected(eventArgs.AcceptSocket.RemoteEndPoint);
		}
		else
			Console.WriteLine(eventArgs.SocketError.ToString());
	}
	catch(Exception e)
	{
		Console.WriteLine(e);
	}
	RegisterAccept(eventArgs);
}

1. 비정상적인 접속이라거나 그런 경우로 인해eventArgs.Completed 가 호출이 안되는 경우가 생길 수 있는지 궁금합니다.

그런 접속이 많아지면 결국 Listener가 다 꺼져버리지 않을까 걱정됩니다.

network C# unity

답변 1

1

Rookiss

접속이 많아지면 Listener가 꺼져버리는 것은 아니고
Connect를 요청한 쪽에서 Fail이 뜹니다.
Listener는 요청 개수와 무관하게
자기만의 페이스(?)로 꾸준히 RegisterAccept / OnAcceptCompleted를 왔다 갔다 하고 있겠죠.

TLS 질문드립니다.

0

37

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

44

2

Unity Span

0

69

2

XML, Dll 차이점

0

100

2

Session 질문입니다

0

75

1

Write Read 커서 키워드

0

70

1

더미 클라이언트 수에 따른 OnDisconnect 발생

0

66

2

네트워크 Send 전담 스레드 배치

0

95

2

UnhandledException 으로 서버 터지는 경우

0

83

2

컨텐츠 단, 엔진 단

0

101

1

질문 있습니다

0

74

2

C# 게임서버 3D MMORPG

0

142

2

유니티6 버전

0

95

2

receive하는 부분과 send하는 부분의 차이

0

129

2

커서의 위치의 중요성

0

100

2

C++ 전혀 모르는데 C# 서버

0

165

2

강의에 질문이 있습니다

0

84

2

멀티스레드 이해도 질문

0

91

1

500 vs 500

0

123

3

OnAcceptHandler 액션 함수

0

58

1

이 정도 서버의 객관적인 수준이 궁금합니다.

0

186

2

36. Serialization #3 에서 string (name) 코드 수정 질문

0

79

2

외부 컴퓨터와의 통신 방법이 궁금합니다

0

101

1

스핀락 질문.

0

105

2