본문 바로가기

전체 글

(71)
TIL#54(TCP게임 서버 만들기) 오늘 한일TCP게임 서버 만들기TCP 게임 서버를 만들어 유니티로 만든 클라이언트에서 플레이어의 위치를 서버를 통해 공유해 보았다.https://github.com/HyuneonY/tcp-game-server GitHub - HyuneonY/tcp-game-serverContribute to HyuneonY/tcp-game-server development by creating an account on GitHub.github.comTCP 서버 구현 코드접속하기 버튼을 눌렀을 때 IP와 PORT로 서버에 접속 후 게임 세션을 생성해 주고 Device Id를 서버에 보내주어 게임 세션에 저장해주었다. 플레이어의 위치 정보를 서버에 보내주고 서버에서 각각의 플레이어의 위치 정보를 업데이트 한후 클라이언트에 ..
TIL#53(Unity와 Socket서버 연결하기) 오늘 한일Unity와 Socket서버 연결하기서버 정보SERVER_IP : 43.201.27.61PORT : 5555 서버 명세서1. 헤더 : 6바이트    message length : 4바이트 (UInt32, Big Endian)    handler ID : 2바이트 (UInt16, Big Endian)2. 본문 : 가변 길이3. 실패조건    메세지 최대 길이 1024바이트 초과    미등록 핸들러 아이디         (10 : 받은 데이터의 소문자를 대문자로 변경)         (11 : 받은 데이터를 뒤집음) 클라이언트 적용데이터 송/수신 확인인스펙터 창에 SEVER_IP, SERVER_PORT, HANDLER_ID에 서버 정보를 넣는다.실행 해보고 Console창에 결과를 확인데이터 UI에..
TIL#52(Wireshark) 오늘 한일Wireshark와이어샤크(Wireshark)는 자유 및 오픈 소스 패킷 분석 프로그램이다. 네트워크의 문제, 분석, 소프트웨어 및 통신 프로토콜 개발, 교육에 쓰인다. 와이어샤크는 각기 다른 네트워크 프로토콜의 구조를 이해하는 소프트웨어이다. 그러므로 각기 다른 네트워크 프로토콜이 규정한 각기 다른 패킷의 의미와 더불어 필드와 요약 정보를 보여줄 수 있다. 와이어샤크는 pcap을 이용하여 캡처를 포획하므로 pcap이 지원하는 종류의 네트워크의 패킷만 포획할 수 있다. Wireshark 사용해보기No. : 패킷을 수집한 순서Time : 패킷이 수집된 시간Source : 패킷을 보낸 주소Destination : 패킷 도착 주소Protocol : 프로토콜 정보Length : 패킷의 길이Info : ..
TIL#51(서브넷 마스크와 IPv4 주소) 오늘 한일IPv4 주소 IPv4(Internet Protocol version 4)는 인터넷에서 데이터를 전송하는 데 사용되는 프로토콜 중 하나이다. 1981년에 처음으로 정의되었으며, 현재 인터넷에서 가장 널리 사용되는 프로토콜이다. IPv4는 패킷 스위칭 네트워크에서 데이터를 패킷 단위로 전송하며, 각 패킷은 발신지와 목적지를 나타내는 IP 주소를 포함한다.  IPv4 주소는 32비트 길이로 구성되어 있으며, 4개의 8비트 숫자로 표현됩니다. 각 숫자는 0에서 255 사이의 값을 가질 수 있으며, 점으로 구분된다. 예를 들어, 192.168.0.1과 같은 형태이다.  IPv4는 약 43억 개(2^32)의 고유한 주소를 제공한다. 그러나 네트워크와 방송 주소, 그리고 특별히 예약된 주소를 제외하면 실제..
TIL#50(로드 밸런싱) 오늘 한일로드 밸런싱 로드 밸런싱은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미한다. 이로써 가용성 및 응답시간을 최적화 시킬 수 있다. 메인프레임 1대(단일 구성체) 보다 IA-32와 같은 일반적인 서버(복합 구성체)가 안정성 면에서 유리한 위치에 있다. 로드 밸런싱 서비스는 그에 적합한 하드웨어와 소프트웨어에 의해 제공된다. 이 기술은 보통 내부 네트워크를 이용한 병렬처리(특히, 고가용성의 병렬처리)에 사용된다.  로드 밸런싱을 위한 대부분의 응용 프로그램은 다수의 서버(다른 말로, 서버 팜)를 가지고 한 가지 종류의 인터넷 서비스를 지원하는 방식이다. 보통 부하 분산은 트래픽이 많은 웹 사이트, IRC 네트워크, FT..
TIL#49(레이턴시, TCP 3-way hanshake) 오늘 한일TCP 3-way hanshakeTCP 프로토콜로 통신하기 위해 데이터 전송 전 상호 연결을 수립하는 과정이다.상대방과 논리적 세션을 맺는 시작점으로 해당 과정을 거친 후에 데이터들을 정상적으로 송수신하는 절차를 가진다.클라이언트는 서버에 접속을 요청하는 SYN(M) 패킷을 보낸다.서버는 클라이언트의 요청 패킷을 받고 요청을 수락한다는 ACK(M+1)과 SYN(N)이 설정된 패킷을 발송한다.클라이언트는 서버의 수학 응답 패킷을 받고 ACK(N+1)을 서버로 보낸다. (연결 성립)ACK - Acknowledgment(승인)의 약자로 요청을 확인했다는 응답을 뜻한다.SYN - Synchronize(동시에 발생하다) Sequence Number의 약자이다. 연결이 이루어지도록 요청한다는 뜻이다. 레이..
TIL#48(패킷 처리 및 데이터 전송) 오늘 한일패킷(Packet)패킷은 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 패킷은 제어 정보와 사용자 데이터로 이루어지며, 이는 페이로드라고도 한다. 패킷을 지원하지 않는 컴퓨터 통신 연결은 단순히 바이트, 문자열, 비트를 독립적으로 연속하여 데이터를 전송한다. 데이터가 패킷으로 형식이 바뀔 때, 네트워크는 장문 메시지를 더 효과적이고 신회성 있게 보낼 수 있다.직렬화(Serialization)직렬화는 객체나 데이터 구조를 일련의 바이트로 변환하는 과정이다. 네트워크를 통해 데이터를 전송하기 위해 필요한 과정으로, 직렬화된 데이터는 파일 저장, 메모리 저장, 네트워크 전송 등 다양한 용도로 사용할 수 있다.직렬화 과정 데이터 준비 : 전송하려는 데이터를 준비한다...
TIL#47(버퍼와 스트림) 오늘 한일버퍼(Buffer)버퍼는 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역이다. 버퍼링(buffering)이란 버퍼를 활용하는 방식 또는 버퍼를 채우는 동작을 말한다. 특징임시 저장 : 버퍼는 데이터를 일시적으로 저장하여 데이터의 흐름을 조절한다.크기 고정 : 버퍼는 일반적으로 고정된 크기를 가지며, 데이터가 버퍼에 쌓이면 일괄 처리된다.속도 차이 완화 : 버퍼는 생산자와 소비자 간의 속도 차이를 완화한다. 예를 들어, 데이터 생성 속도와 처리 속도가 다를 때, 버퍼는 데이터를 임시로 저장하여 처리 속도를 맞춘다.예시파일 읽기/쓰기 : 파일 입출력 시, 버퍼를 사용하여 데이터를 일괄적으로 읽거나 쓴다. 이는 디스크 I/O 성능을 향상시킨다.네트워크 ..