websockets-cli: 웹 프로젝트에 친숙한 동반자
9021 단어 websocketswebdevpython
왜요?
이 프로젝트에는 두 가지 주요 이유가 있습니다.
코딩. 나는 적절한 라이브러리를 찾을 수 없었기 때문에 항상 이 문제를 해결하기 위해 스크립트를 작성하게 되었습니다.
물론 웹소켓에 도움이 되는 Postman과 같은 그래픽 솔루션이 있지만 그러한 테스트를 위해 터미널 작업을 선호하는 사람은 나만이 아닐 것입니다.
설치
설치하려면 python3.7 이상 및 pip가 설치되어 있어야 합니다. 그런 다음 다음을 입력할 수 있습니다.
$ pip install websockets-cli
poetry 과 같은 다른 패키지 관리자를 사용할 수도 있습니다. 나는 가지고있다
이 도구를 모르는 경우 atutorial를 참조하십시오.
$ poetry add -D websockets-cli
일종의 전역 설치를 원하는 경우 pipx 라이브러리를 사용할 수 있습니다.
$ pipx install websockets-cli
설정
필요에 따라 구성할 수 있는 많은 설정이 있습니다. 공식 문서의 thissection에 모두 정의되어 있습니다. 다음을 사용하여 구성할 수 있습니다.
pyproject.toml 파일
.ws.env
인 사용자 정의 env 파일. 메모:
용법
CLI는 사용이 간단합니다. 사용 가능한 모든 명령을 알고 싶으면 터미널에
ws
를 입력하십시오.$ ws
Usage: ws [OPTIONS] COMMAND [ARGS]...
A convenient websocket cli.
Example usage:
# listens incoming messages from endpoint ws://localhost:8000/path
$ ws listen ws://localhost:8000/path
# sends text "hello world" in a text frame
$ ws text wss://ws.postman-echo.com/raw "hello world"
# sends the content from json file "hello.json" in a binary frame
$ ws byte wss://ws.postman-echo.com/raw [email protected]
Options:
--version Show the version and exit.
-h, --help Show this message and exit.
Commands:
byte Sends binary message to URL endpoint.
echo-server Runs an echo websocket server.
install-completion Install completion script for bash, zsh and fish...
listen Listens messages on a given URL.
ping Pings a websocket server located at URL.
pong Sends a pong to websocket server located at URL.
session Opens an interactive session to communicate with...
tail An emulator of the tail unix command that output...
text Sends text message on URL endpoint.
설치 완료
사용할 첫 번째 명령은 명령 및 옵션에 대한 완성 지원을 추가하는
install-completion
입니다. bash
, fish
및 zsh
에서 작동합니다. Windows 지원(Powershell)이 예정되어 있습니다.$ ws install-completion
# when the command succeeded, you should see the following message
Successfully installed completion script!
에코 서버
Postmandoes과 같은 echo websocket 서버를 자체 호스팅하려는 경우
echo-server
명령을 실행할 수 있습니다. 다음은 예입니다.$ ws echo-server -H ::1 -p 8000
Running server on ::1:8000 💫
# To stop the server, you can just tap Ctrl+C
^CProgram was interrupted by Ctrl+C, good bye! 👋
듣다
종종 websocket 끝점에서 들어오는 메시지를 보고 싶을 것입니다. websockets-cli를 사용하면 정말 쉽습니다.
# assuming you have an endpoint localhost:8000 sending messages
$ ws listen :8000
# you will have an output like the following
──────────────────── TEXT message on 2022-05-25 07:10:07 ────────────────────────────────────
{"hello": "world"}
──────────────────── BINARY message on 2022-05-25 07:10:07 ──────────────────────────────────────
b'{"hello": "world"}'
세션
아마도 가장 많이 사용하게 될 명령일 것입니다. 웹 소켓 서버와 완전한 상호 작용을 허용합니다.
ping
, pong
, close
, text
및 binary
프레임을 보낼 수 있습니다.$ ws session wss://ws.postman-echo.com/raw
Welcome to the interactive websocket session! 🌟
For more information about commands, type the help command.
When you see <> around a word, it means this argument is optional.
To know more about a particular command type help <command>.
To close the session, you can type Ctrl+D or the quit command.
> help
The session program lets you interact with a websocket endpoint with the
following commands:
• ping <message>: Sends a ping with an optional message.
• pong <message>: Sends a pong with an optional message.
• text message: Sends text message.
• byte message: Sends byte message.
• close <code> <reason>: Closes the websocket connection with an optional code
and message.
• quit: equivalent to close 1000.
> help close
Closes the session given a code and an optional reason.
Example usage:
If no code is given, 1000 is considered as default meaning a normal closure.
Thus, it is equivalent to the quit command.
┌────────────────────────────────────────────────────────────────────────────┐
│ > close │
└────────────────────────────────────────────────────────────────────────────┘
Closes the connection with a code 1001 and no message.
┌────────────────────────────────────────────────────────────────────────────┐
│ > close 1001 │
└────────────────────────────────────────────────────────────────────────────┘
Closes the connection with a code 1003 and a message "received unknown data".
The message length must not be greater than 123 bytes.
┌────────────────────────────────────────────────────────────────────────────┐
│ > close 1003 'received unknown data' │
└────────────────────────────────────────────────────────────────────────────┘
To know more about close codes, please refer to the RFC.
> quit
Bye! 👋
prompt-toolkit 덕분에 세션 명령에는 다음과 같은 기능이 있습니다.
프레젠테이션을 위해 여기에서 멈출 것입니다. 프로젝트에 대해 더 알고 싶다면 공식documentation을 읽을 수 있습니다.
websocket을 많이 사용하신다면 흥미롭게 사용하실 수 있기를 바랍니다. 🙂
내 기사가 마음에 들고 나와 함께 계속 배우고 싶다면 주저하지 말고 여기에서 나를 팔로우하고 내 newsletter를 구독하세요 😉
Reference
이 문제에 관하여(websockets-cli: 웹 프로젝트에 친숙한 동반자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/le_woudar/websockets-cli-a-friendly-companion-to-your-web-project-45a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)