GithubHelp home page GithubHelp logo

内置消息分发接口? about link HOT 6 CLOSED

funny avatar funny commented on August 25, 2024
内置消息分发接口?

from link.

Comments (6)

bg5sbk avatar bg5sbk commented on August 25, 2024
server, _ := link.Serve("tcp", "0.0.0.0:10010", 
    link.Packet(2, 65535, 4096, link.Uint16Dispatch(link.Handlers{
        1: PingMsgHandler,
        2: PongMsgHandler,
    })),
)

如果是这样的接口,可以让link.Handlers统一用map,Dispatch那层可以自行做优化,比如Uint16Dispatch的消息容量只有256,所以可以直接用数组,比起map要高效很多。

from link.

lkm1107 avatar lkm1107 commented on August 25, 2024

建议可以类似于skynet, 不同的场景实现一个该场景比较通用的处理,就像网关, 大家的网关需求就比较一致。

from link.

bg5sbk avatar bg5sbk commented on August 25, 2024

嗯,我其实都想去掉link.Packet的可选参数,只保留2字节包头分包协议,留着实际上没啥意义又有危险性,消息分类其实我只想用uint16,需要别的分类方式可以自己另外搞。

如果把这些可选项都去掉,就会变得简单很多:

server, _ := link.Serve("tcp", "0.0.0.0:10010",  link.PacketHandlers{
        1: PingMsgHandler,
        2: PongMsgHandler,
})

from link.

yicaoyimuys avatar yicaoyimuys commented on August 25, 2024

第二种比较好,可以自定义Dispatch,可以通过做同步、异步接收,不同协议类型的解析等

from link.

lkm1107 avatar lkm1107 commented on August 25, 2024

可否考虑把可选参数放独立的配置文件,这样直接省掉也不方便定制啊

from link.

bg5sbk avatar bg5sbk commented on August 25, 2024

没有运行时变更的需要

from link.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.