du4010 2017-11-03 16:26
浏览 318
已采纳

如何在Go中连接到Gremlin Websocket?

I'm trying to connect to Gremlin which should be running on port 8182 ([INFO] GremlinServer$1 - Channel started at port 8182)

When I'm connecting to: ws://127.0.0.1:8182 I'm getting the response:

2017/11/03 17:20:04 ERROR: database with the name 'gremlin' gave an error when connecting: websocket: bad handshake.

The Gremlin server responds with:

[WARN] HttpGremlinEndpointHandler - Invalid request - responding with 400 Bad Request and no gremlin script supplied

I'm using Gorilla Websocket in Go to connect:

gremlinGrpcAddress := fmt.Sprintf("ws://%s:%d/", f.config.Host, f.config.Port)

var dialer *websocket.Dialer

clientConn, _, err := dialer.Dial(gremlinGrpcAddress, nil)
if err != nil {
    return err
}

f.client = clientConn

UPDATE:
Connecting to echo.websocket.org works, so somehow it is something in the Gremlin server.

  • 写回答

2条回答 默认 最新

  • douqing5981 2017-11-05 14:42
    关注

    The answer lies in the config YAML file.

    What is needed is the correct channelizer.

    GOOD:

    channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看