본문 바로가기
728x90

게임 서버/네트워크4

[c#/네트워크] TCP와 UDP 차이 TCP와 UDP의 차이에 대해 알아보자 📌 TCP와 UDP 차이 프로토콜 종류 연결 지향성 신뢰성 속도 특징 TCP 연결형 서비스 좋음 느림 1) 연결을 위해 할당되는 논리적인 경로가 있다. 2) 전송 순서가 보장된다. 3) 분실이 일어나면 책임지고 다시 전송한다(신뢰성 👍) 4) 물건을 주고 받을 상황이 아니면 일부만 보낸다(흐름/혼잡 제어) 5) 고려할 것이 많으니 속도가 느리다 UDP 비연결형 서비스 나쁨 빠름 1) 연결이라는 개념이 없다. 2) 전송 순서가 보장되지 않는다. 3) 분실에 대한 책임이 없다(신뢰성 👎) 4) 일단 보내고 생각한다 5) 단순하기 때문에 속도가 빠르다 데이터 전송 보장 및 순서 보장을 위해서는 tcp를 주로 사용한다. tcp는 3way handshake 방식이다. 🔎 3.. 2022. 12. 22.
[c#/네트워크] listener 클래스를 활용한 비동기 소켓 프로그래밍 앞서 진행한 소켓 프로그래밍 구현에서 ServerCore 폴더에 Listener 파일을 추가한다. 문지기 즉, 소켓을 만드는 것을 따로 파일로 빼서 관리할 예정이다. 생성된 Listener 클래스 안에 소켓을 생성한다. Socket _listenSocket; 소켓을 초기화 하는 함수는 따로 만들 것이다. 기존 코드를 보면 (빨간 줄 무시) endPoint를 받아서 소켓을 생성하고 Bind도 하는 것을 볼 수 있다. (*기존 코드 : 전 글 확인..) 따라서 Init함수 인자로 endPoint를 넣어주며 Init() 함수를 다음과 같이 만들어 준다. Init() public void Init(IPEndPoint endPoint) { _listenSocket = new Socket(endPoint.Addre.. 2022. 12. 13.
[c#/네트워크] 소켓 프로그래밍 소켓 프로그래밍을 구현해 보겠다. 다음과 같이 파일 구조를 만든다.. 그 다음 솔루션 우클릭 후, 속성에 들어가서 클라이언트와 서버가 한 번에 실행되도록 다음과 같이 설정한다. 이제 서버부터 구현해 보자. 일단 연결을 시도하려는 자에 대한 정보를 얻어야 한다. //DNS (Domain Name System) //도메인 등록 후 -> IP주소 찾게끔 만들면 유지보수가 용이함 //PC의 호스트명을 받는다 (호스트명은 IP 주소 대신 사용할 수 있는 식별 이름) string host = Dns.GetHostName(); IPHostEntry ipHost = Dns.GetHostEntry(host); //해당 호스트의 IP 관련 주소들을 받는다. IPAddress ipAddr = ipHost.AddressLis.. 2022. 12. 12.
[c#/유니티] 네트워크 기초 - 스위치와 라우터 1️⃣ 라우터 : 서로 다른 네트워크를 연결하는 역할을 한다. (네트워크 간) IP주소를 사용하여 데이터 전송을 수행한다. 2️⃣ 스위치 : 같은 네트워크 안에서 데이터 전송을 한다. (네트워크 내) LAN 포트 사이에서 데이터 전송을 하며 MAC 주소를 사용한다. 🤔 MAC와 IP 차이? 📌 MAC 주소 (Media Access Control Address) 하드웨어 고유 주소, 48비트 16진법을 사용한다. 하드웨어 제조 업체가 지정. DC-21-5C-3C-6B-C6 다음과 같은 주소에 해당한다. 📌 ip 주소(Internet Protocol) : 네트워크 관리자 혹은 인터넷 서비스 공급자(ISP)에 의해 제공되는 주소 네트워크 연결을 위해 제공되는 주소 IPv4 주소는 32 비트 주소이고 IPv6 .. 2022. 12. 12.
728x90
반응형