gpt4 book ai didi

java - TTransportException 没有任何特定消息

转载 作者:行者123 更新时间:2023-12-02 11:11:02 25 4
gpt4 key购买 nike

我遇到了这个异常,它没有任何特定的消息,例如“读取超时”、“连接拒绝”或“连接重置”。而且这个异常通常不会发生。

我想知道这个异常的根本原因是什么?

org.apache.thrift.transport.TTransportException at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129) at org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101) at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378) at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297) at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204) at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)

最佳答案

relevant line in the code

 if (bytesRead < 0) { 
throw new TTransportException(TTransportException.END_OF_FILE);
}

调用者无法从底层传输读取 len 个字节,这通常意味着远程端挂起(关闭连接):

/** 
* Reads from the underlying input stream if not null.
*/
public int read(byte[] buf, int off, int len) throws TTransportException
{
if (inputStream_ == null) {
throw new TTransportException(TTransportException.NOT_OPEN, "Cannot read from null inputStream");
}
int bytesRead;
try {
bytesRead = inputStream_.read(buf, off, len);
} catch (IOException iox) {
throw new TTransportException(TTransportException.UNKNOWN, iox);
}
if (bytesRead < 0) {
throw new TTransportException(TTransportException.END_OF_FILE);
}
return bytesRead;
}

对于服务器,如果您没有遇到任何表明存在问题的问题,则该特定问题就是 Thrift 的工作原理。

对于客户端,如您的示例所示,这似乎表明服务器过早关闭了连接(客户端在 TServiceClient.receiveBase() 中等待接收响应)。

最可能的原因是服务器端出现一些 Uncaught Error 。我想到的另一个可能的原因是协议(protocol)/传输堆栈不匹配。

关于java - TTransportException 没有任何特定消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50620035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com