W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
到目前為止,我們雖然接收到了數(shù)據(jù),但沒有做任何的響應(yīng)。然而一個(gè)服務(wù)端通常會(huì)對一個(gè)請求作出響應(yīng)。讓我們學(xué)習(xí)怎樣在 ECHO 協(xié)議的實(shí)現(xiàn)下編寫一個(gè)響應(yīng)消息給客戶端,這個(gè)協(xié)議針對任何接收的數(shù)據(jù)都會(huì)返回一個(gè)響應(yīng)。
和 discard server 唯一不同的是把在此之前我們實(shí)現(xiàn)的 channelRead() 方法,返回所有的數(shù)據(jù)替代打印接收數(shù)據(jù)到控制臺上的邏輯。因此,需要把 channelRead() 方法修改如下:
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
ctx.write(msg); // (1)
ctx.flush(); // (2)
}
如果你再一次運(yùn)行 telnet 命令,你會(huì)看到服務(wù)端會(huì)發(fā)回一個(gè)你已經(jīng)發(fā)送的消息。
完整的echo服務(wù)的代碼放在了 io.netty.example.echo包下面。
譯者注:翻譯版本的項(xiàng)目源碼見 https://github.com/waylau/netty-4-user-guide-demos 中的com.waylau.netty.demo.echo
包下
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: