netty快速入門教程 怎么用Netty接收ChunkedFile?
怎么用Netty接收ChunkedFile?Netty通過以下方式封裝了對HTTP分塊協(xié)議的支持:1編寫一個響應(yīng),并設(shè)置分塊參數(shù)來告訴客戶端它將返回分塊類型的數(shù)據(jù);2開始寫入分塊數(shù)據(jù);3根據(jù)分塊協(xié)議標
怎么用Netty接收ChunkedFile?
Netty通過以下方式封裝了對HTTP分塊協(xié)議的支持:
1編寫一個響應(yīng),并設(shè)置分塊參數(shù)來告訴客戶端它將返回分塊類型的數(shù)據(jù);
2開始寫入分塊數(shù)據(jù);
3根據(jù)分塊協(xié)議標準返回分塊數(shù)據(jù)結(jié)束標記;
4關(guān)閉通道連接。具體代碼如下:httprequest req=(httprequest)reqobjhtppresponse=new defaulthttpresponse(HttpVersion.HTTP1_ 1, HttpResponseStatus.OK) 響應(yīng)設(shè)置塊(正確)響應(yīng)集標題( HttpHeaders.Names.TRANSFER編碼,HttpHeaders.Values.CHUNKED文件)信道f=ctx.getChannel頻道().write(resp)String str=“我的測試”數(shù)據(jù)塊!“HttpChunk chunk=new DefaultHttpChunk(ChannelBuffers.wrappedBuffer包( str.to字符串().getBytes(CharsetUtil.UTF8) ))f=ctx.getChannel頻道().write(chunk)HttpChunk chunk=新建DefaultHttpChunk(ChannelBuffers.EMPTY緩沖區(qū))f=ctx.getChannel頻道().write(chunk)f.addListener(C)hannelFutureListener.CLOSE關(guān)閉)PS:chunked的數(shù)據(jù)大小可以定義根據(jù)實際情況。
netty可以做什么?
建議使用緩存處理。根據(jù)您所說的數(shù)據(jù)量,基于redis的緩存完全可以滿足要求,訪問速度可以達到10W,另外,要使用的HashMap無論是并發(fā)HashMap還是其他,無論是增量查詢還是直接查詢頁面顯示,無論您是使用netty還是Mina進行套接字數(shù)據(jù)接收,所有這些都需要仔細考慮和設(shè)計。由于對并發(fā)性的需求如此之大,我們可以考慮進行分布式集群。據(jù)估計,這正是領(lǐng)導(dǎo)人想要的目標