thrift+nodejs 服务端必须是非阻塞的吗

 我来答
匿名用户
2017-11-06
展开全部
1、阻塞模式TThreadPoolServer
从源码中很容易发现,该代码采用的是JDK中java.net.ServerSocket作为服务端套接字。
因此,很容易辅助理解其为什么为阻塞模式。
服务端的示例代码如下:
TServerSocketserverTran= newTServerSocket(18000);//负责服务端套接字的管理
Hello.Processor<Iface>pro= newProcessor<Iface>(newHelloImpl());
Factoryfactory= newTBinaryProtocol.Factory(true,true);
Argsargs= newArgs(serverTran);
args.processor(pro);
args.protocolFactory(factory);

TServerserver= newTThreadPoolServer(args);
server.serve();// 启动Server

TServer 源码中启动代码如下:

server.serve();// 其源码如下:

publicvoid serve() {
try{
serverTransport_.listen();//这里调用的是TServerSocket的listen()方法,监听是否存在新的client申请
}catch(TTransportException ttx) {
LOGGER.error("Error occurred during listening.",ttx);
return;
}
...
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式