250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 네이버뉴스
- 코사인 유사도
- 幼稚园杀手(유치원킬러)
- Gmarket
- test
- 토픽추출
- db
- java
- tomoto
- 크롤링
- oracle
- 게시판 만들기
- Websocket
- r
- word2vec
- 과학백과사전
- 파이썬
- (깃)git bash
- spring MVC(모델2)방식
- 자바
- pytorch
- 이력서
- Python
- 방식으로 텍스트
- lda
- jsp 파일 설정
- RESFUL
- mysql
- Topics
- 지마켓
Archives
- Today
- Total
무회blog
python: websocket, 파이썬서버 , 파이썬 클라이언트, 003 본문
소스:
1) 서버 소스 (python)
websocket_server.py
import asyncio
# 웹 소켓 모듈을 선언한다.
import websockets
# 클라이언트 접속이 되면 호출된다.
async def accept(websocket, path):
while True:
# 클라이언트로부터 메시지를 대기한다.
data = await websocket.recv();
print("receive : " + data);
# 클라인언트로 echo를 붙여서 재 전송한다.
await websocket.send("echo : " + data);
# 웹 소켓 서버 생성.호스트는 localhost에 port는 9998로 생성한다.
start_server = websockets.serve(accept, "localhost", 9998);
# 비동기로 서버를 대기한다.
asyncio.get_event_loop().run_until_complete(start_server);
asyncio.get_event_loop().run_forever();
2) 클라이언트 소스
websocket_pyclient.py
import asyncio
# 웹 소켓 모듈을 선언한다.
import websockets
# ----------------------------------------------------------------------------------------------//
# Python 웹소켓 서버에 접속에서 프롬프트 상에서 문자열을 입력받아 Python 웹소켓 서버에 전송하고
# 전송한 문자열에 대한 에코를 리턴 받는다.
# quit(종료) 문자를 입력받을 때까지 계속 웹소켓 연결되어 있다. quit 문자가 입력되면 접속이 자동으로 끊긴다.
# Python 웹소켓 서버는 파이참에서 실행중이다.
# ----------------------------------------------------------------------------------------------//
async def connect():
# 웹 소켓에 접속을 합니다.
async with websockets.connect("ws://localhost:9998/websocket") as websocket:
str = input('Python 웹소켓으로 전송할 내용을 입력하세요[종료하려면 quit 입력!]: ') # 사용자의 입력을 변수에 저장
#print(str) # 변수의 내용을 출력
#입력받은 값을 파일로 저장
f = open('./chat/chatlog2.txt', 'w')
f.write(str)
while str != 'quit':
# quit가 들어오기 전까지 계속 입력받은 문자열을 전송하고 에코를 수신한다.
await websocket.send(str);
# 웹 소켓 서버로 부터 메시지가 오면 콘솔에 출력합니다.
data = await websocket.recv();
print(data);
f.write(data)
str = input('Python 웹소켓으로 전송할 내용을 입력하세요[종료하려면 quit 입력!]: ') # 사용자의 입력을 변수에 저장
# print(str) # 변수의 내용을 출력
f.close();
# 비동기로 서버에 접속한다.
asyncio.get_event_loop().run_until_complete(connect())
Source from DBA Mr.김
'Python' 카테고리의 다른 글
QnA 모듈분류 및 테스트 (0) | 2020.08.28 |
---|---|
QnA 테스트 해보기 , 랜덤 값 , 분류 , (0) | 2020.08.27 |
python: websocket, 파이썬서버, 웹클라이언트, 002 (0) | 2020.08.27 |
python: websocket, client,server (0) | 2020.08.25 |
python: restFul, REST API, _inputOutput_02, rest,조회,GET,입력,POST, (0) | 2020.08.25 |
Comments