유니티로 온라인 게임 한 번 만들어보고 있음
서버는 C++로 만들고 있고
MMORPG처럼 실시간 온라인
UDP로 통신하고 있는데
다른 플레이어의 위치정보 업데이트를 싱글턴 패턴 GameManager의 Update 메서드에서 RecvBuffer를 부르고 있음.
아래는 RecvBuffer 예제
여기서 문제가
Receive 메서드를 호출하는 순간 반환을 받을 때까지 대기하고 있어야 한다는 거임.
유니티 프로그램 자체가 멈춰버림
게임이 돌아가는 작업이랑 서버에서 정보 불러오는 작업을 동시에 진행해야 하니까..
그래서 결론은 멀티스레드나 비동기를 사용해야 하는데 둘 중 어느쪽을 선택해야 할지 모르겠음
리턴값 원활하게 받으려면 비동기를 선택해야 하나 싶고
작업 밀리지 않게 하려면 멀티스레드를 선택해야 하나 싶고
넌 두개 차이부터 배우고 다시 질문해라
너 왜 말을 그렇게 해..?
비동기 프로그래밍이 맞음(async) 일반적으로 논 블록킹 I/O는 네트워크 대기에 시간 예측이 불가능해서 비동기적 처리하라고 봤음. 나는 구현을 해본 적이 없다만 매뉴얼 상에서 그렇게 나오아ㅣㅆ음
오옹 고맙다 ㅠㅠ
이게 뭔 개소리지 ㅋㅋ 신박하네
멀티 쓰레드는 그런 용도로 쓰는게 아닐텐데..
이새끼 대가리 깨진새끼임 ㅋㅋ 질문전에 단어같은 기본적인 지식은 가지고 질문을해야하는데 그런거도 없고 잘몰라서 질문하는거면 뉴비새끼 답게
겸손이라도 해야하는데 존나 잘아는것처럼 씨부리네 ㅋㅋㅋ
열심히 까내리느라 수고한다
까내리는게 아니고 펙트인데? ㅋㅋㅋㅋㅋㅋㅋ 비동기 멀티스레드 하나 몰라서 질문이 성립하질 않는데 뭐 잘아는것마냥 똥글 쳐싼거 맞자나?
댓글 달리는것만 봐도 모르겠냐 질문 자체가 성립을 안하니까 대답을 못하니 다들 다시 알아보라고 댓글달아주는건데 너 왜 말을 그렇게해 ㅇㅈㄹ 병신새끼 그리고 1+2 이런 덧셈 공부할때 니는 혼자 이걸 어떻게 해야 정답이 나올가하고 고민 쳐하고있는거랑 똑같은데 시발 ㅋㅋㅋ 당연한 질문을 뭘 장엄하게 문제 제기 하고 결론 ㅇㅈㄹ 하고있는지 씨발 누가보면 기하학 으로 고민하는줄알겠네 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ