AtomicServer-开发客户端服务器应用程序的快速且可调节的方式

大家好,我希望您过得愉快。

Presentation & Genesis

让我自我介绍一下,现年21岁的GrégoireTAJA对技术充满热情已有约十年的历史。 看到每天复制和粘贴大量的代码总是让我感到恐惧。 同样,当今的超连接性促使我们实现昂贵的客户端-服务器体系结构,或诸如REST之类的WebService,它们虽然价格较低,但很快因WebService无法通知客户端而不发送任何请求而受到限制。 这是AtomicServer的起源。

What is AtomicServer ?

AtomicServer同时具有多个功能,整体上允许以简化的方式实现可定制的客户端-服务器体系结构,并且可以根据需要进行自定义。 首先,将软件用作服务器的基础,并将管理与客户端的所有通信。 其次,客户端的Java库允许管理与服务器的通信。 最后,服务器的库(也是Java)使您有可能在插件中开发特定的功能。 插件可以相互依赖,以实现最大的模块化,从而避免重复代码。

How it's work ?

已经实现了各种概念:

  • 指令:允许您在服务器控制台中执行自定义命令。要求:类似于Web服务中的路由,允许客户端向服务器请求某些内容。扳机:允许服务器将特定事件通知客户端。听众:允许服务器拦截不同的事件,例如新客户端的连接或自定义数据包的接收。

Example

This is how to send & receive a json packet with AtomicServer :

/**** Send Packet from server side ****/
// 1. Create json to send with javax.json
JsonObject json = Json.createObjectBuilder()
                .add("message", "Hello World")
                .add("type", "INFO")
                .build();
// 2. Send the packet to all client
server.broadcastPacket(new JsonPacket(json));

/**** Receive Packet from client side ****/
public class ChatListener implements Listener {
    @EventHandler
    public void onPacketReceive(PacketReceivedEvent event) {
        // Check the type of packet
        if (event.getPacket() instanceof JsonPacket) {
            // Cast into JsonPacket
            JsonPacket jsonPacket = ((JsonPacket)event.getPacket());

            // Get JsonObject
            JsonObject json = jsonPacket.getJsonValue().asJsonObject();

            // Get the data
            json.getString("message"); // "Hello World"
            json.getString("type"); // "INFO"
        }
    }
}

而已 !

Project progress

如您所见,这是一个很大的项目。 基本的功能块在那里,您已经可以尝试使用它。 但是,在成为生产项目之前,还有很多事情要做:

  • 通信的加密(目前所有内容都还不清楚)。Development of the client library for the main platforms (Node, PHP, Android & iOS).提高插件的安全性(在各自文件夹中包含容器化的插件)。实施单元测试/属性测试。Wiki和文档的改进。根据不同的用户需求添加功能。

该项目当然是开源的(X11许可证),欢迎所有贡献。

非常感谢您抽出宝贵的时间阅读本演示文稿,希望您喜欢这个项目。

我期待您的反馈:)

Website & Forum : https://www.atomicserver.io/
Wiki : https://www.atomicserver.io/wiki
Gitlab : https://gitlab.com/atomic-server/server
Documentation : https://docs.atomicserver.io/

from: https://dev.to//lagregance/atomicserver-a-fast-and-modulable-way-to-develop-a-client-server-app-13jn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值