2016-06-08 2 views
2

오른쪽, 그래서 Thrift 내 로컬 컴퓨터에서 완전한 Python 구현이 있습니다.TSocket 읽기 0 바이트

서버의 메서드 중 하나에서 문자열을 반환하려고 시도 할 때까지 제대로 작동하지 않습니다.

드리프트 파일 그것은 return 문에 실패 sayMsg

service HelloWorld { 
    void ping(), 
    void sayHello(), 
    i32 sayMsg(1:string msg) 
} 

.

def sayMsg(self, msg): 
    print "sayMsg(" + msg + ")" #This line runs fine 
    return "say " + msg + " from " + str(socket.gethostbyname(socket.gethostname())) 

내가 client.py 처음 실행 server.py, 나는 또한 server 측에 오류 No handlers could be found for logger "thrift.server.TServer"를 얻을.

다음 실행에서이 오류는 사라지지만 TSocket read 0 bytes이 유지됩니다.

어디로 잘못 가고 있습니까?

+0

이 질문과 관련이 있습니까? – Shastick

답변

0

그것은 드리프트 파일 오류를 보인다 sayMsg 반환 문자열이 아닌 int_32해야한다, 변경 :

service HelloWorld { 
    void ping(), 
    void sayHello(), 
    string sayMsg(1:string msg) 
} 

작품.