로그인

Python 으로 Websocket을 사용하는 방법

nowonbun.tistory.com

안녕하세요. 명월입니다. 이 글은 Python에서 Websocket을 사용하는 방법에 대한 글입니다. Websocket은 웹 브라우져에서 javascript로 TCP 동기 통신을 위한 통신 프로토콜입니다. 제가 이전에 Java로 websocket..

조회 1,664 2026-08-18 등록

소개

이 글은 개발 블로그 '명월 일지'에 실린 Python으로 웹소켓(WebSocket)을 사용하는 방법에 관한 글입니다. 웹소켓이 브라우저의 JavaScript와 서버가 연결을 유지한 채 통신하기 위한 프로토콜이라는 설명과 함께, Python이 이 용도에 적합한 이유를 소개합니다. websockets 라이브러리 설치부터 비동기로 메시지를 주고받는 서버 예제, HTML·JavaScript 클라이언트 예제, Python을 클라이언트로 삼아 Java 웹소켓 서버에 접속하는 예제까지 코드와 함께 다룹니다. 블로그에는 C++, C#, Java, Python, JavaScript 등 여러 언어의 개발 노트가 정리되어 있습니다. 실시간 채팅이나 알림 기능을 Python으로 구현해 보려는 개발자에게 참고가 됩니다.

태그

의견 0

로그인하면 의견을 남길 수 있습니다.

아직 의견이 없습니다. 첫 의견을 남겨보세요.

비슷한 사이트

게시글

웹URL 주소로 캡쳐 하는 프로그램 만들어 보도록 하겠습니다

웹URL 주소로 캡쳐 하는 프로그램 만들어 보도록 하겠습니다 html2canvas 플러그인을 통해서 웹페이지를 캡쳐할수 있습니다 하지만 자신의 홈페이지에서만 가능 하지 다른 URL주소의 내용은 캡쳐할수 없는 단점이 있습니다 해서 URL주소를 입력하면 해당 주소의 내용을 캡쳐후 이미지로 반환해주는 프로그램을 만들어 보려합니다 작동원리 작업전 준비 작업 1)PHP 홈페이지 2)서브서버로 사용할 윈도우 PC 3)공유기 포트포워드 설정 (메인서버에서 가상아이피를 사용하는 서브서버로 접속하기 위함) 4)서브서버에 파이썬 설치 5)서브서버에 파이썬 flask 설치 6)서브서버에 파이썬 selenium 설치 위 순서대로 진행을 하려합니다 핵심은 메인서버에서 서브서버의 특정 프로그램을 실행 시켜주는 것입니다 일반적으로 웹상에서 다른 PC의 프로그램을 컨트롤 하기가 어렵습니다 처음 개발단계에서 웹소켓을 통해 프로그램을 컨트롤 하려 했습니다 실재로 http로는 컨트롤까지 되었습니다 그러나 홈페이지가 https인 경우 ws가 아닌 wss 웹소켓만 사용해야 하는 문제가 있어서 php file_get_contes() 함수와 flask서버를 사용해 컨트롤 하는 방법을 채택하였습니다 처음 계획이 수정되어 편법을 사용한 것이 아닌가 생각되었지만 flask 를 사용해보니 서브서버가 안정적으로 작동하여 오히려 더 나은 방법이라 판단됩니다 유튜브주소 https://www.youtube.com/watch?v=aCWmZplpts0 https://www.youtube.com/watch?v=iE1wAFZmR-w

w3schools

www.w3schools.com

w3schools을 소개합니다. w3schools 은 다양한 프로그램 소스를 공부할수 있는 사이트 입니다. w3schools의 장점은 소스와 실행되는 결과같은 바로 볼수 있다는 것이 장점입니다. 웹관련 소스가 궁금한 경우 검색하면 잘 나옵니다. 그러나 소스를 적용했을때 잘 되는지에 대해서는 장담하지 못합니다. 열심히 적용해 봤는데 소스가 잘못된경우 또는 버전이 맞지 않아 사용할수 없는 경우가 있기 때문입니다. 물론 올린사람이 의도적으로 틀린 소스를 올리는 것은 아니지만 시간이 흐름에 따라 틀린 소스가 되기도 합니다. 그러다 보니 적용하기전 정상적인 소스인지 먼저 확인 해봐야 하는데 w3schools 에서는 Try it Yourself 를 통해 미리 확인해 볼수 있습니다. 또 다른 장점으로 CSS관련 정보를 많이 얻을수 있다는 것입니다. 개인적으로 CSS관련 부분이 궁금한 경우 자주 활용하는 사이트입니다. 일반적으로 CSS의 특정 기능이 궁금하면 인터넷에 검색하여 정보를 얻습니다. 그러다 보니 체계적인 정보를 얻기보다는 산발적인 정보를 얻게 되는데 w3schools 에서는 체계적으로 관련정보가 잘 정리되어 있습니다. 적용 예시 뿐아니라 연관된 스타일들까지 다양하게 확인해볼수 있습니다. 그러기에 CSS를 공부하기에는 더할나위없이 좋은 사이트입니다. 메뉴구성은 HTML, CSS, AJVASCRIPT, SQL, PYTHON, PHP등으로 구성되어 있어 다양한 서비스를 이용할 수 있습니다 웹관련 프로그램 소스가 궁금하시다면 w3schools를 활용해 보시기 바랍니다. 자세한 정보를 원하신다면 https://www.w3schools.com 주소를 참고 하시면 더많은 정보를 확인 하실 수 있습니다.

포켓 웹즐겨찾기

getpocket.com

나중에 보고 싶은 홈페이지를 저장 해둘수 있는 포켓(https://getpocket.com)를 소개합니다 인터넷을 돌아다니다 보면 “아! 이 사이트 아주 좋은데 나중에 봐야겠다”라고 생각하며 브라우저 즐겨찾기에 추가 놓는 경우가 많습니다. 그 후 즐겨찾기 목록을 통해 다시 방문하여 서비스를 이용하기도 합니다. 그런데 이건 어디까지나 자신의 컴퓨터에서 일입니다. 집 컴퓨터 즐겨찾기에 추가해 놓은 내용이 학교나 회사 컴퓨터에는 추가 되어 있지 않아 접속하려면 검색을 다시 해야 하는 경우가 있습니다. 그나마 이는 집에 가면 확인해 볼수 있으니 양호한 편입니다. 만약 자신의 PC라 하여도 즐겨찾기를 몇 년 전에 했다면, PC포맷이나 교체 등의 여러 가지 이유로 삭제되어 사이트 재방문이 불가능해 지는 경우도 있습니다. 이런 암울한 상황을 극복하기 위한 방법으로 포켓을 추천합니다. 포켓은 쉽게 말해 브라우저별로 제공하던 즐겨찾기를 웹상으로 옮겨놓은 웹즐겨찾기 서비스라고 보시면 됩니다. 포켓 사용방법 역시 간단합니다. 로그인도 구글 계정으로 할수 있으며 로그인 한 후에 자신이 추가 하고자 하는 사이트 주소를 등록하면 됩니다 등록된 주소는 웹 특성상 인터넷이 가능한 모든 곳에서 동일하게 사용 가능합니다. 또한 포켓에서는 자체적으로 소개해주는 사이트들이 있어 내가 필요한 사이트가 있다면 내 목록에 추가 할수도 있습니다. 개인적으론 소개해주는 사이트들이 영문사이트여서 저에게는 큰 도움이 되지 않지만 영문권 에서는 유용하지 않을까 생각해봅니다. 그 외에도 추가한 사이트에 태그를 달수 있어 구분과 찾기를 편리하게 했으며 보관소, 즐겨찾기 등등을 통해 분류하기 편리하게 해놓았습니다. 만약 내가 아는 유용한 사이트 주소를 별도로 관리하고 싶으신 분이라면 포켓을 적극 활용해 보시는 것도 좋은 방법인듯합니다.