다음과 같은 기본 코드로 시작했습니다 ( http://aaugustin.github.io/websockets/ 의 샘플 코드처럼 ).
import asyncio
import websockets
@asyncio.coroutine
def servePlayer(websocket, path):
yield from websocket.send("Hello World")
start_server = websockets.serve(servePlayer, 'localhost', 8765)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
나는 이것을 비슷한 것으로 약간 수정했지만 더 이상 작동하지 않습니다. 이유를 모르겠습니다. 수정 된 버전은 다음과 같습니다.
import asyncio
import websockets
class Player:
def __init__(self, connection):
self.connection = connection
def send(self, data):
print("sending")
yield from self.connection.send(data)
@asyncio.coroutine
def servePlayer(websocket, path):
player = Player(websocket)
player.send("Hello World")
start_server = websockets.serve(servePlayer, 'localhost', 8765)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
코드는 "sending"라인에도 도달하지 않습니다.
귀하의 player.send()
방법도 생성기입니다. 해당 생성기에 위임해야합니다.
@asyncio.coroutine
def servePlayer(websocket, path):
player = Player(websocket)
yield from player.send("Hello World")
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다