
目次
BoltzEngine とのその他の接続方法
BoltzEngine では他にも2種類の接続方法をサポートしています。
ただし今後積極的なメンテナンスは予定されておらず、新機能は一部を除き対応されません。
net/rpc
Go 言語の net/rpc ライブラリを使用した接続方法です。通常、BoltzEngine Master サービスを起動したマシンの13010ポートで待ち受けています。
rpc.Dial で BoltzEngine と接続します。 その後、Call または Go メソッドの第1引数でサービスメソッドを指定して呼び出します。
1req := &apns.Request{
2 Addr: "gateway.push.apple.com:2195", Credential: config.Credential(),
3 Messages: []*Message{},
4}
5for i, token := range tokens {
6 msg := &apns.Message{
7 ID: uint32(i),
8 Token: token,
9 Payload: []byte(`{"aps":{"alert":"hello"}}`),
10 }
11 req.Messages = append(req.Messages, msg)
12}
13c, err := rpc.Dial("tcp", "boltz-server:13010")
14if err != nil {
15 log.Fatal("Dial:", err)
16}
17defer c.Close()
18
19var resp apns.Response
20err = c.Call("BoltzEngine.BroadcastMessagesToAPNs", req, &resp)
21if err != nil {
22 log.Fatal("Call:", err)
23}