目次

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}

JSON-RPC

JSON-RPC v1.0 の仕様に対応したクライアントライブラリ、もしくはソケット通信で JSON を送受信します。

boltz コマンドを -json オプション付きで起動することで net/rpc の代わりにJSON-RPCで待ち受けるようになります。net/rpc と JSON-RPC は排他利用となっており、1つの BoltzEngine クラスタは net/rpc と JSON-RPC を同時に扱うことができません。

ご不明な点はありませんか?

機能の詳細、導入のご検討、お見積もり依頼などは、お気軽にお問い合わせください。
担当者から追ってご連絡いたします。

お問い合わせはこちら