• tctip demo页面>


    (原)

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

    以下例子逻辑:

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

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

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

    服务端ChannelInitializer和SimpleChannelInboundHandler实现为:

    
    

    
    

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

    客户端main 和SimpleChannelInboundHandler实现为:

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

    测试结果

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

    服务端:

    客户端1:

    客户端2:

    demo地址

  • 相关阅读:
    c++ 异常处理 assert | try
    c++ 容器类
    protobuf 向前兼容向后兼容
    命名空间和模块化编程,头文件
    对象3:继承
    动态内存 this指针
    对象2 构造,析构
    对象 1 作用域解析符 ::
    hibernate-criteria查询
    oracle报错:ORA-28000: the account is locked
  • 原文地址:https://www.cnblogs.com/LeeScofiled/p/11263975.html
Copyright © 2020-2023  润新知