2019-02-01から1ヶ月間の記事一覧

MQTTサーバーを実装しながらGoを学ぶ - その5 net, io, bufioパッケージ

前回の続きです。前回までで一応 CONNECTパケットをstructに変換する処理ができました。これでクライアントからのCONNECTパケットをサーバー側で解釈できます。 今回は、CONNECTに対するレスポンスであるCONNACKに取り掛かります。また、実際にサーバーとし…

MQTTサーバーを実装しながらGoを学ぶ - その4 テストカバレッジ

前回の続きです。 今回は、MQTTのCONNECTパケットのペイロードから。ペイロードをbinaryパッケージを使って実装します。その後、regexパッケージを使って入力チェック処理を書いてテストします。Goではテストカバレッジが簡単に取得できるようだったので、試…

MQTTサーバーを実装しながらGoを学ぶ - その3 errorとエラーハンドリング

前回で func ToFixedHeader(bs []byte) FixedHeader という関数を実装しました。この関数の引数のチェックとエラーハンドリングからやります。Goにおけるエラーハンドリングを学んでいきたいと思います。 目次。 error CONNECTパケットの可変ヘッダー Goのエ…