2017-09-24 3 views
0

pythonで低速処理を使用してRPCを実行しようとすると、私は奇妙なエラーが発生します。私は同様の問題をオンラインで見つけましたが、それらのどれも私の状況には本当に当てはまりません。ここでPythonでThrift TTransportExceptionが発生する

は、私は次のように、私は信じて、それを生成したコードである

No handlers could be found for logger "thrift.transport.TSocket" 
Traceback (most recent call last): 
    File "experiment.py", line 71, in <module> 
    transport.open() 
    File "/usr/local/lib/python2.7/dist-packages/thrift/transport/TTransport.py", line 152, in open 
    return self.__trans.open() 
    File "/usr/local/lib/python2.7/dist-packages/thrift/transport/TSocket.py", line 113, in open 
    raise TTransportException(TTransportException.NOT_OPEN, msg) 
thrift.transport.TTransport.TTransportException: Could not connect to any of [('192.168.178.44', 9000)] 

を取得していますエラーです。

TECS_SERVER_IP = "192.168.178.44" 
TECS_SERVER_PORT = 9000 

transport = TSocket.TSocket(TECS_SERVER_IP, TECS_SERVER_PORT) 
transport = TTransport.TBufferedTransport(transport) 
protocol = TBinaryProtocol.TBinaryProtocol(transport) 
client = TTSService.Client(protocol) 
transport.open() 

私は他のマシンと通信しようとするたびに発生しますので、私は、IP「127.0.0.1」にしようと、それが動作します。ただし、同じコンピュータを参照するローカルホスト "192.168.178.44"のIPを使用すると、エラーが発生します。 私には、何らかの理由でIPアドレスを解決できないようです... これを引き起こしている問題や解決方法についてのアイデアはありますか?

私は、Python 2.7.12、倹約0.9.3を使用したとUbuntu 16.04が、私はまた、Windows 10


にエラーが発生しました。これは私の倹約サービスが

handler = TTSHandler() 
handler.__init__() 
transport = TSocket.TServerSocket(host='localhost', port=9000) 
processor = TTSService.Processor(handler) 
tfactory = TTransport.TBufferedTransportFactory() 
pfactory = TBinaryProtocol.TBinaryProtocolFactory() 

server = TServer.TSimpleServer(processor, transport, tfactory, pfactory) 
server.serve() 
を開始する方法ですよクライアントが接続する前
+0

TServerの起動方法は? – georgexsh

+0

@georgexsh私の新しい編集 – Girauder

答えて

1

サーバーは、そのアドレスにバインドする必要があります。

TSocket.TServerSocket(host='192.168.178.44', port=9000) 

または使用host='0.0.0.0'は、マシン上のすべてのIPv4アドレスにバインドすることを意味します。

+0

を確認して、 'localhost'ではないはずですか? – Girauder

+0

'localhost'は特別なホスト名で、 '127.0.0.1'に解決されます。サーバがバインドされている場合は、 '127.0.0.1'への接続のみが受け入れられます。 – georgexsh

+0

ローカルで作業するようです。明日遠隔から試してみるよ。どうもありがとう! – Girauder

関連する問題