netty-3.客户端与服务端通信

谁践踏了优雅 2023-06-04 06:55 146阅读 0赞

(原)

第三篇,客户端与服务端通信

以下例子逻辑:

如果客户端连上服务端,服务端控制台就显示,XXX个客户端地址连接上线。

第一个客户端连接成功后,客户端控制台不显示信息,再有其它客户端再连接上线,则其它客户端显示:【服务器】 - XXX 已加入

当客户端发送一条消息给服务端,其它客户端控制台都能收到此消息【服务端】 - xxx msg,同时自己也会收到一条消息,【服务端】 - 【自己】 msg

1124388-20190729150522688-1570462696.png

  1. 服务端ChannelInitializerSimpleChannelInboundHandler实现为:

1124388-20190729150557963-1696979433.png

1124388-20190729150605224-320740236.png

这里的channelGroup这管道组,在客户端关掉后,服务端会自动调用handlerRemoved方法,channelGroup的remove方法会自动调用,将对应的客户端从channelGroup中移除,所以这里不必显示的移除。

客户端main 和SimpleChannelInboundHandler实现为:

1124388-20190729150626307-333458645.png

因为客户需要将控制台输入参数发送出去,所以这里用了while死循环

1124388-20190729150638319-1804804219.png

测试结果

先开启服务端,再开启二个客户端,第一个客户端输入hello

服务端:

1124388-20190729150656516-1499220479.png

客户端1:

1124388-20190729150713298-1472520141.png

客户端2:

1124388-20190729150730162-1951227124.png

demo地址

转载于:https://www.cnblogs.com/LeeScofiled/p/11263975.html

发表评论

表情:
评论列表 (有 0 条评论,146人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Netty实现客户服务通信

    实现一个客户端与服务端通信的程序,可以使用socket网络编程来实现,而Netty作为一个封装了JDK的NIO通讯的异步事件驱动的网络应用框架,也同样可以实现。 1.创建M