Socket.D v2.5.12

快速入门 - Helloworld

</> markdown

本例基于 java 演示

1、引入依赖包

选一个基于 BIO 实现的最小依赖(100kb 左右)。更多传输适配包见:《Socket.D - Java 开发》

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>socketd-transport-java-tcp</artifactId>
    <version>2.5.12</version>
</dependency>

2、编写服务端

监听消息,不分事件只做一个简单的打印。

public class ServerDemo {
    public static void main(String[] args) throws Throwable {
        //::启动服务端
        SocketD.createServer("sd:tcp")
                .config(c -> c.port(8602))
                .listen(new SimpleListener(){
                    @Override
                    public void onMessage(Session session, Message message) throws IOException {
                        //打印
                        System.out.println(message);
                    }
                })
                .start();
    }
}

3、编写客户端

打开会话后,发送一个 "Hello wrold!" 的消息包。并通过元信息,申明用户是 "noear"

public class ClientDemo {
    public static void main(String[] args) throws Throwable {
        //::打开客户端会话
        ClientSession session = SocketD.createClient("sd:tcp://127.0.0.1:8602/?token=1b0VsGusEkddgr3d")
                .open();


        Entity entity = new StringEntity("Hello wrold!").metaPut("user","noear");
        
        //发送
        session.send("/demo", entity);
        //发送并请求(且,等待答复)
        Entity reply = session.sendAndRequest("/demo", entity).await();
        //发送并订阅(且,接收答复流)
        session.sendAndSubscribe("/demo", entity).thenReply(reply->{
            
        });
    }
}

4、运行

先运行 ServerDemo::main 函数。启动完成后,再运行 ClientDemo::main