首页 > 代码库 > thrift-go(golang)Server端笔记
thrift-go(golang)Server端笔记
1、从thrift源码中拷贝go语言包(thrift\lib\go\thrift),放到go/src/下
2、新建go项目,实现server端服务接口
package main
import (
"fmt"
"os"
"taochees"
"thrift"
"strconv"
)
type TestServiceImpl struct {
}
var objService = new(xxxx)
func (this *TestServiceImpl) SearchData(param xxxx) (r xxxx, err error) {
if err != nil {
// Handle error
fmt.Println(err)
return nil, err
}
fmt.Println("接收请求...")
r, err = objSearchService.SearchData(*param)
return r, err
}
func main() {
transportFactory := thrift.NewTTransportFactory()
protocolFactory := thrift.NewTBinaryProtocolFactory(false, false)
serverTransport, err := thrift.NewTServerSocket("172.17.1.1:7912")
if err != nil {
fmt.Println("Error!", err)
os.Exit(1)
}
handler := &TaocheESServiceImpl{}
processor := taochees.NewTaocheESServiceProcessor(handler)
server := thrift.NewTSimpleServer4(processor, serverTransport, transportFactory, protocolFactory)
fmt.Println("thrift server start...")
server.Serve()
}
3、运行go-service文件:go run xxxx.go
系统出现以下结果即可说明启动正常:
4、成功启动后,即可编写Client端进行调用测试
5、测试通过后,可将go-service注册为系统服务,通过service命令来控制启动重启
服务指令为:/....../go/bin/go run /....../TaocheESService.go
附注:
运行go文件后server.Serve()执行通过,未成功启动Listen...,即系统显示:
原因一般是监听指定端口失败,可尝试更换端口,或查看该端口是否被占用(lsof -i ),如有占用,kill掉相应进程
thrift-go(golang)Server端笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。