사물인터넷이란 ? 각 종 사물에 센서와 통신기술을 이용하여 인터넷에 연결하는 것 사물인터넷 프로토콜 HTTP (Hyper Text Transfer Protocol) CoAP (Constrained Application Protocol) MQTT (Message Queueing Telemetry Transport) HTTP의 기본 동작 HTTP : 서버와 클라이언트 사이의 응용 프로토콜로 클라이언트가 서버에게 정보를 요청 (HTTP Request) 하면 서버는 응답 (HTTP Response) 을 전송하는 구조이다 요청은 URL(Uniform Resource Locator)로 구성되어 서버에게 전달됨 서버는 URL을 분해하여 요청을 처리함 서로 연결할 수 있는 장치 많고 웹 브라우저를 통한 연결 가능 ur..
TCP/UDP 멀티스레드 서버 프로그래밍 서버의 종류 반복 서버 (iterative server) 클라이언트 요청을 하나씩 서비스하는 서버 여러 클라이언트 동시 요청 시 앞의 클라이언트 서비스 종료까지 대기해야 됨 대기 시간이 길어지는 단점 병행 서버 (concurrent server) 반복 서버의 단점 극복 클라이언트들을 동시에 서비스하는 서버 방식 종류 스레드 방식 : 클라이언트 마다 별도의 스레드 사용 → 멀티 스레드 이벤트 구동 방식 : 이벤트가 발생하면 처리하는 방식 TCP 멀티스레드 서버 스레드 : 운영체제에 의해 시간이 배분되고 관리되는 프로그램의 실행 단위 스택, 데이터 메모리 등을 공유 스레드를 생성하고 스레드에게 함수의 실행을 맡기면 사용자의 개입이 필요 없음 메인 스레드는 클라이언트를..
소켓 네트워크 프로그래밍 네트워크 관련 파이썬 표준 모듈 인터넷 : TCP/IP 프로토콜을 사용하여 네트워크를 통해 연결된 장치 사이의 통신임 TCP/IP protocol(Transmission Control Protocol/Internet Protocol) : 컴퓨터 서로 통신하는 경우, 특정 규칙이나 프로토콜을 사용하여 순서대로 데이터를 전송 및 수실할 수 있다. 이때 사용하는 규칙중 하나가 TCP/IP 임. ex: 메일, 컴퓨터 간 파일 전송, 원격 로그인 등 파이썬에서는 TCP/IP 통신을 위한 표준 모듈을 제공 ipaddress 모듈 socket 모듈 네트워크 서비스를 위한 파이썬 표준 모듈 ipaddress: 인터넷 주소 관련 작업 모듈 해당 IP 주소가 유효한지 확인하는 경우에도 사용 IPv..