1. 首页
  2. 主题
  3. Go问与答

使用go语言写一个软件后端服务,遇到个问题不太明

yz23je · · 5699 次点击
写的这个软件不是web,前端用的是QT写的,后端打算是用go来写,前端和后端通信使用的是TCP协议。 现在遇到的问题: 如下,要怎样才可以实现后端收到前端数据包后发现有字符串"ExecLogin",就能调用到func (this *LoginClass) ExecLogin(str string) 来执行操作呢?不止登陆,前端肯定还有各种各样的功能,要怎样才能弄成通用的方式,就是后端收到数据包能根据数据包中的字符串名来调用相应的执行函数。不知道泛型能不能实现 ``` // login登陆类 type LoginClass struct{} // 执行登陆操作 func (this *LoginClass) ExecLogin(str string) { ..... } ```
看来还是得用map的那种方式了,http考虑过,但不合适当下自己写的项目,也就没用了。
#5
更多评论
建一个`map[string]func(data []byte)` 映射函数名称和函数。提前add到map中。 运行时函数名称应该只有反射能拿到吧。
#1
建议使用http协议,一个是因为有很多http协议的框架开发很方便,另一个是tcp有粘包的风险。
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中