标签:http io os ar 数据 div sp 问题 on
1. 在用c# 写thrift的服务端,来相应http请求,在用结构体传输时,会遇到一个问题,就是(在用网络)传输数据特别慢,
这是由于在发生数据是用的TStreamTransport 导致每传一个数据,就建立一次连接。
2.解决办法:
可以降THttpHandler中的重写为以下的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
public
void ProcessRequest(Stream input, Stream output) { //TTransport transport = new TStreamTransport(input,output); TTransport inTransport =
new TStreamTransport(input, output); //在out加入缓存机制 TBufferedTransport outTransport =
new TBufferedTransport((TStreamTransport)inTransport); //TTransport transport = new TStreamTransport(input, output); TProtocol inputProtocol =
null ; TProtocol outputProtocol =
null ; try { inputProtocol = inputProtocolFactory.GetProtocol(inTransport); outputProtocol = outputProtocolFactory.GetProtocol(outTransport); while
(processor.Process(inputProtocol, outputProtocol)) { } } catch
(TTransportException) { // Client died, just move on } catch
(TApplicationException tx) { Console.Error.Write(tx); } catch
(Exception x) { Console.Error.Write(x); } inTransport.Close(); outTransport.Close(); } |
C语言中thrift 中THttpHandler 传输数据 慢 slow 解决办法
标签:http io os ar 数据 div sp 问题 on
原文地址:http://blog.csdn.net/sxw3718401/article/details/39547005