2016-09-28 3 views
0

개인용 음성 도우미 응용 프로그램에서 파이썬으로 작업 중이며 웹 인터페이스를 추가하여 모든 장치에서 원격으로 사용할 수 있습니다. 나는 이미 파이썬 쪽을 가지고 있으며 웹 인터페이스와 섞어 놓고 싶다. 어쩌면 스레드에서 소켓을 청취함으로써 가능할 수도 있습니다. 나는 파이썬에 익숙하지만 JS에서는 그다지 익숙하지 않다.실행중인 python 프로세스와 javascript간에 데이터를 전달하는 방법

이상적으로 필요한 것은 실행중인 파이썬 프로세스를 갖는 것입니다. 그런 다음 HTML JS 클라이언트는 사용자의 목소리를 녹음하고 텍스트로 변환 한 다음 파이썬 서버로 보냅니다. 파이썬 서버는 명령을 수신하고 기능을 실행하고, 같은 JSON 데이터를 반환

{ 
'reply':'All done, here is your result', 
'data':someBigHTMLoutput, 
'audio':path to generated mp3 audio file of speech using customized voice 
} 

HTML을 발견 책이나 영화, 예를 들어, 또는 다른 보고서와 큰 테이블이 될 수 있습니다. 또는 명령이 표시등을 끄려는 경우 비어있을 수 있습니다.

그러면 JS가이 데이터를 받고, 'content'div를 html 데이터로 바꾸고, AI 응답 텍스트를 표시하고, 서버에서 생성 한 오디오 파일을 재생해야합니다. 다음 명령을 기다려.

그래서이 모든 것에서 페이지 새로 고치기없이 js 클라이언트와 Python 서버 데이터 교환 방법을 알고 싶습니다.

파이썬으로 소켓을 수신하는 것으로 충분합니까? 그렇다면 데이터를 JS로 어떻게 반환할까요?

추가 질문 : 함수 실행 전이나 실행 중에 일부 데이터를 푸시 할 수 있습니까? 현재 나의 파이썬 보이스 어시스턴트는 함수 실행 전, 도중, 후에 함수를 말할 수있다. 이 소리를 HTML 페이지에도 보낼 수있는 방법이 있습니까? 그렇지 않다면 나는 AI의 논리가 '일이 끝난'후에 만 응답하게한다고 다시 생각할 것이다.

나는 많은 시간을 들여이 문제를 조사했지만, 프레임 워크는 엄청나게 혼란 스러웠지만, 비교적 단순한 작업을 위해 필요한 것이 있는지 확실하지 않았습니다.

감사합니다. 파이썬 3.4

+1

간단한 프레임 워크가 필요한 경우 병 또는 플라스크를보십시오. 그러나 예, 프레임 워크가 필요합니다. 단지 "마이크로 프레임 워크"일뿐입니다. 소켓 레벨에서 일하면 고통 만 겪을 수 있습니다. – BrenBarn

답변

0

결국 나는 Flask, Flask-SocketIO 및 JavaScript를 사용하여 socketio를 사용했습니다.

매력처럼 작동합니다. 감사. 이 기능을 사용하면 언제든지 이벤트를 내보낼 수 있기 때문에 HTML + JS 기반의 프론트 엔드 UI를 구축하고 Python 서버와 실시간으로 상호 작용할 수 있습니다.

관련 문제