본문 바로가기
728x90

HTTP2

C#, 서버 시간으로 동기화하기 (HTTP 웹사이트 동기화) 서버 시간을 가져와야하는 이유 대부분의 프로그램(앱)에서는 클라이언트와 서버 간의 통신이 존재합니다. 하지만 클라이언트에서 사용하는 시간이 있고, 서버에서 사용하는 시간이 따로 존재하며 이 둘은 서로 동기화가 필요합니다. 클라이언트에서 단순하게 'DateTime.Now' 사용한다면 이는 기기 시간 변경만으로도 에러 및 프로그램 내부적인 스케줄링에 치명적으로 영향을 줄 수 있습니다. 프로그램 시간 제약 조건 제가 생각하는 제약 조건은 아래와 같습니다. DateTime.Now와 같은 IDE에서 제공하는 기기 시간을 가져오는 코드 사용은 지양한다. 이는 클라이언트에 영향을 끼칠 수 있습니다. DateTime.Now 대신 사용할 시간을 따로 관리하는 로직을 구상하여 사용한다. 기기 시간을 조작해도 영향을 끼치지.. 2022. 8. 13.
HTTP 통신과 TCP 통신의 차이와 이해 HTTP 통신 HTTP통신은 Question을 물어보면 반드시 Answer이 돌아오는 비연결지향적인 단방향 통신입니다. 언제든 요청을 하면 그에 해당하는 값으로 답을 줍니다. HTTP라는 말에서 보셨듯이, 주로 인터넷 페이지를 예로 들 수 있습니다. 우리는 현재 보고 있는 페이지를 요청해서 받아서 결과로 처리받을 화면을 보고 있으며, 단방향 통신으로 현재는 항시 연결되어 있다고 보지 않습니다. 단순하게 요청에 대한 응답을 받았으면 이미 끝난 것이기 때문입니다. (클라이언트가 요청 -> 서버에서 응답) TCP통신 (socket 통신) TCP통신은 Handshake라는 과정으로 서로가 통신을 할 수 있는 상태를 먼저 인증을 하고 나서 통신을 하는 연결지향적인 양방향 통신입니다. 이는 서로에게 언제든 실시간으.. 2022. 2. 10.
반응형