목록IT (165)
And Brain said,
오늘은 Firebase Cloud Messaging 이하, FCM에 대해 알아보고 FCM 서버와 간단한 Spring Boot Java API를 통해 통신하여 안드로이드 에뮬레이터에 Push 알림이 발송되는지까지 테스트해보도록 하자. FCM? FCM이란 무료 메시지를 보낼 수 있는 플랫폼 간 메시징 솔루션이다. 기존 메시지 전송 방식은 A가 Server를 통해 B에게 실시간으로 메시지를 전송하려면 B가 서버에 계속 접속해 있어야 했다. 이를 실제로 구현한다면, 많은 배터리와 네트워크 사용이라는 문제를 야기시켰다. 그리하여 나온것이 FCM이다. A가 Server를 통해 B에게 실시간으로 메시지를 전송한다는 방식은 같지만 중간에 Cloud Messaging Server가 끼어든다. A -> Server -> ..
TCP 헤더 TCP는 연결 지향형(Connection-Oriented) 서비스를 제공하고 신뢰성 있는 데이터 전송을 보장한다. 출발지 포트 번호(Source Port Number) 출발지 호스트의 포트 번호를 정의한 16비트 필드이며 임의 번호를 사용한다. 목적지 포트 번호(Destination Port Number) 목적지 호스트의 포트 번호를 정의한 16비트 필드이며, 대부분의 Well-Known Port Number를 사용한다. 순서 번호(Sequence Number) TCP 세그먼트들에 대한 순서 번호를 표시한다. 목적지에서 재조립할 때 사용한다. 수신 확인 응답 번호(Acknowledge Number) 수신 장치에서 발신 장치로 세그먼트의 전송 성공 여부를 알려주기 위해 사용한다. 헤더 길이(H..
TCP/IP란? 인터넷을 사용하는 모든 통신의 기본적인 프로토콜이다. 한 개의 프로토콜이 아닌 여러가지 프로토콜의 조합이다. TCP/IP를 기반으로 BAN, PAN, LAN, MAN, WAN 구간의 장치들이 원할히 데이터를 주고 받을 수 있다. 4개의 계층으로 표현된다. TCP는 서비스를, IP는 주소를 의미한다. TCP는 서비스를, IP는 주소를 의미한다. 수많은 프로토콜들이 IP 주소를 기반으로 동작한다. TCP/IP 계층 네트워크 접속 계층(Network Access Layer) OSI 참조 모델의 물리 계층과 데이터링크 계층의 역할을 수행한다. 프레임의 송신과 수신을 담당한다. ARP(Address Resolution Protocol) 목적지의 MAC 주소를 모를 경우 이를 알아내기 위해서 사용하..
나의 서버 관리 기록 2022 - 11 - 23 1일차 분명 끝인 줄 알았지만 서버의 사후 관리도 나한테 맡겼다. 한동안 백엔드 개발을 하면서 이 서버의 관리자로도 일해야할 것 같으니 기록지도 계속 쓰기로 하였다. 일단, 백엔드의 포트도 열어주는 작업을 했다. 그런데 나는 방화벽은 로컬 포트와 원격 포트를 특정 하나의 포트만 열고 싶었는데 원격 포트로 들어올때 내부적으로 포트가 변경되는지 모든 포트로 열지 않는 이상 그 포트로 포워딩이 되질 않았다. 그 후, MySQL 포트를 열어주는 작업을 했는데 이 또한 한 번에 되지 않았다. 두 가지 이유로 안 되었었는데, 첫 번째는 MySQL이 내부적으로 로컬 접속만 허용하고 기본적으로 외부 접속을 막아놓고 있었다. 그래서 이를 허용해주는 작업이 필요했다. 또, ..
나의 서버 환경 구축 기록 - 5일차 2022 - 11 - 22 5일차 Virtual Box를 리셋했다. GUI 환경이 설치된 vdi 이미지 파일을 주셔서 그냥 거기서 처음부터 하는게 빠르지 않겠냐라는 말 한 마디에 서버에 깔았던 모든 것이 사라졌다. 그래도 해놨던걸 적어놓은 덕 + GUI 덕분에 빠르게 이전 단계로 복구했다. 이제 포트포워딩이 제대로 됬는지 드디어 확인을 했고 서버에 이클립스와 Java를 설치했다. 외부 컴퓨터의 ssh 접속은 방화벽을 뚫어주고 NAT 네트워크로 포트포워딩 해주면, 외부컴퓨터 - (포트포워딩) - 원격 서버 - (포트포워딩) - 가상머신 이렇게 포트포워딩 완료다. ssh 접속은 ssh 비밀번호가 아니라 계정 비밀번호로 들어가는거였다는 점... java 1.8버전 설치는 ..