Thrift TSimpleServer Serve方法无法等待连接

时间:2018-03-14 17:36:46

标签: thrift

一个非常简单的基于节俭的服务器:

 public void RunServer()
    {
        while (_running)
        {
            try
            {

                AutomationMain.Processor processor = new AutomationMain.Processor(this);
                TServerTransport serverTransport = new TServerSocket(_rxport);


                // _server = new TSimpleServer(processor, serverTransport);
                _server = new TSimpleServer(processor, serverTransport, new TFramedTransport.Factory(), new TBinaryProtocol.Factory());


                Log.Debug("Starting HMI server on port " + _rxport);
                _server.Serve();

            }
            catch (Exception ee)
            {
                Log.Error("Exception in server: ", ee);
            }
        }
        Log.Debug("HMI server stopped");
    }

这在我的开发机器上工作正常,对_server.Serve()的调用阻塞等待连接,客户端可以连接并完成它的工作。

但是安装在远程站点上的另一台PC上,调用不会阻塞,它会立即返回并且日志文件已满#34;在端口上启动HMI服务器"消息。

为什么Serve()不阻止和等待的任何想法?

1 个答案:

答案 0 :(得分:0)

确实有其他东西有端口!

在我的C#/ .NET程序中添加了一个控制台,所以我可以看到来自thrift的调试,它揭示了这个问题。