일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 보이스피싱 #대검찰청 #명의도용 #비밀번호 #계좌번호 #공공기관 #가짜검찰청
- 모의해킹
- 취약점
- 허리디스크
- 거래사기
- open redirect
- 척추관협착증
- intelmac
- MongoDB #NoSQL #CreateUser #DropUser #mongod #mognod.conf
- 중고나라
- react
- speed-measure-webpack-plugin
- self-signed
- 로맨스스캠
- 안전결제
- Frida
- XSS
- Sequoia
- ssrf
- Malware Sample
- 많다..
- NUGU
- shell_gpt
- CryptoJS
- CJ대한통운 #쿠팡 #통관번호오류 #통관고유번호오류 #안주원팀장 #모건인베스트
- 변태는
- 네이버카페
- esbuild
- ue4dumper
- 채팅환전사기
Archives
- Today
- Total
annyoung
Asyncio websocket relay server 본문
import eventlet
import socketio
import asyncio
from aiohttp import web
from app.constatns import cti_url
# cti_server = socketio.AsyncClient(logger=True, engineio_logger=True)
# sio = socketio.AsyncServer(cors_allowed_origins='*', logger=True, engineio_logger=True)
cti_server = socketio.AsyncClient()
sio = socketio.AsyncServer(cors_allowed_origins="*")
app = web.Application() # aiohttp web server
sio.attach(app)
@cti_server.on("news")
async def on_news(data):
# print("client has news", data)
await sio.emit("news", data)
@sio.on("my other event")
async def on_event(sid, data):
# print ('server', data)
await cti_server.emit("my other event", data)
async def main():
await cti_server.connect(cti_url)
# await cti_server.wait()
if __name__ == "__main__":
# asyncio.run(main())
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
# web.run_app(app, port=5000)
# loop.run_until_complete(asyncio.gather(main()))
loop.run_until_complete(asyncio.gather(web.run_app(app, port=5000), main()))
loop.run_forever()
cti_url로 접속하고, 클라이언트에서 받아오는 데이터는 다시 cti_server로 쏜다.
cti_server에서 받은 response는 다시 sio.emit을 통해 클라이언트로 보내게 된다.
async를 사용하지 않으면 클라에서 서버로 메시지를 보낼수는 있으나, 실질적으로 메시지를 받아오질 못한다.
'프로그래밍' 카테고리의 다른 글
react ckeditor5 build with craco without eject (0) | 2021.12.30 |
---|---|
react-bootstrap-table-next row read, add, update and delete (CRUD) (0) | 2021.12.28 |
검은사막 모바일 토벌 구매 매크로 (1) | 2021.07.24 |
개발을 잘하는 회사들 (0) | 2020.08.21 |
ubuntu apache2+tomcat command line tool as python instead of service (0) | 2019.02.22 |
Comments