TTransportException“无法读取,远程端已关闭”

时间:2012-11-21 23:14:26

标签: c# thrift

在我用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);
        }

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

尝试使用,

client.InputProtocol.Transport.Open();

而不是,

transport.Open();

BTW我的服务器是基于Java的