TTransportException: java.net.ConnectException: Connection refused: connect异常

看视频学用Thrift时遇到的
环境:win7, thrift_0.12.0, python37, jdk1.8, IDE:IJ+PC
本机java客户端 连 本机python服务器

部分代码:

# ...
serverSocket = TSocket.TServerSocket(port=8848)
transportFactory = TTransport.TFramedTransportFactory()
protocolFactory = TCompactProtocol.TCompactProtocolFactory()
server = TServer.TThreadedServer(processor, serverSocket, transportFactory, protocolFactory)
server.serve()
TTransport transport = new TFramedTransport(new TSocket("127.0.0.1", 8848), 600);
TProtocol protocol = new TCompactProtocol(transport);
PersonService.Client client = new PersonService.Client((protocol));
try {
	transport.open();
	//TODO
}catch(Exception e){
	e.printStackTrace();
}finally {
	transport.close();
}

起py服务器 运行java客户端
抛异常:TTransportException…Connection refused: connect

百度后检查IP, 端口, 防火墙都没事
服务器启动后netstat -ano | findstr port也是监听状态

最后还是看了眼官方文档
py服务器建socket的参数多了host

serverSocket = TSocket.TServerSocket(host='127.0.0.1', port=8848)

加上就能连了
百度其他资料也有说需要去掉host才不报错的 可能是环境不同, 或非本地连本地引起的


版权声明:本文为chenmual原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。