手册

目录

客户端(Client)示例

收藏894

阅读11891

更新时间2022-04-11

客户端初始化参数:

#-------------------------------------
# 服务模块--客户端初始化参数
#-------------------------------------

# 客户端配置列表,多个客户端名称间用'|'分隔,默认为default
ymp.configs.serv.client.name_list=default

# 服务名称, 默认为default
ymp.configs.serv.client.default.name=default

# 远程主机IP地址, 默认为0.0.0.0
ymp.configs.serv.client.default.host=0.0.0.0

# 远程主机端口号, 默认为8281
ymp.configs.serv.client.default.port=8281

# 编解码字符集, 默认为UTF-8
ymp.configs.serv.client.default.charset=UTF-8

# 缓冲区大小, 默认为4096
ymp.configs.serv.client.default.buffer_size=4096

# 执行线程池大小, 默认为10
ymp.configs.serv.client.default.executor_count=10

# 连接超时时间(秒), 默认为30
ymp.configs.serv.client.default.connection_timeout=30

# 心跳发送时间间隔(秒), 默认为60
ymp.configs.serv.client.default.heartbeat_interval=60

# 自定义参数, 可选
ymp.configs.serv.client.default.params.xxx=xxx

通过在监听器实现类声明@Client注解来表示一个客户端,该注解有如下参数:

QQ截图20170207105301.png

基于TCP协议的客户端,需要继承NioClientListener监听器类,支持监听如下事件:

QQ截图20170207105314.png

基于UDP协议的客户端,需要继承NioUdpListener监听器类,支持监听如下事件:

QQ截图20170207105318.png
示例代码
TCP客户端
@Client(reconnectClass = DefaultReconnectService.class,
        hearbeatClass = DefaultHeartbeatService.class, codec = TextLineCodec.class)
public class TcpClient extends NioClientListener {

    @Override
    public void onSessionConnected(INioSession session) throws IOException {
        super.onSessionConnected(session);
        //
        session.send("Hello from client.");
    }

    @Override
    public void onMessageReceived(Object message, INioSession session) throws IOException {
        super.onMessageReceived(message, session);
        //
        System.out.println(session + "--->" + message);
    }

    @Override
    public void onExceptionCaught(Throwable e, INioSession session) throws IOException {
        System.out.println(session + "--->" + e.getMessage(), e);
    }
}
UDP客户端
@Client(implClass = NioUdpClient.class, codec = TextLineCodec.class)
public class UdpClient extends NioUdpListener {

    public Object onSessionReady() throws IOException {
        return "Hello from client.";
    }

    public Object onMessageReceived(InetSocketAddress sourceAddr, Object message) throws IOException {
        System.out.println(sourceAddr + "--->" + message);
        return null;
    }

    public void onExceptionCaught(InetSocketAddress sourceAddr, Throwable e) throws IOException {
        System.out.println(sourceAddr + "--->" + e);
    }
}

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号