在我用 C# 编写的客户端中出现此错误。我的服务器在 python 中。这是我使用 thrift 的第一个测试程序。看起来我的 python 服务器正在运行。这是我的客户端代码。我在调用“Client.add(2,3)”时遇到此错误
static void Main(string[] args)
{
try
{
var socket = new TSocket("localhost", 9089);
var transport = new TBufferedTransport(socket);
var protocol = new TBinaryProtocol(transport);
var client = new CalculatorService.Client(protocol);
transport.Open();
if (transport.IsOpen)
{
//I am seeing this message
Console.WriteLine("server is open for business");
}
Console.WriteLine(client.add(2, 3)); //this is the line that gives me the error
transport.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
任何帮助将不胜感激。
最佳答案
尝试使用,
client.InputProtocol.Transport.Open();
代替,
transport.Open();
顺便说一句,我的服务器是基于 Java 的
关于c# - TTransportException "Cannot read, Remote side has closed",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13503601/