码迷,mamicode.com
首页 > 其他好文 > 详细

thrift-go(golang)Server端笔记

时间:2016-10-19 13:30:53      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

 
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端笔记

标签:

原文地址:http://www.cnblogs.com/lijunhao/p/5976733.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!