Fetch the repository succeeded.
package main
import (
"crypto/tls"
"github.com/jeffallen/mqtt"
"log"
)
// See http://mosquitto.org/man/mosquitto-tls-7.html for how to make the
// server.{crt,key} files. Then use mosquitto like this to talk to it:
//
// mosquitto_sub --cafile ca.crt --tls-version tlsv1 -p 8883
//
// tls-version is required, because Go's TLS is limited to TLS 1.0, but
// OpenSSL will try to ask for TLS 1.2 by default.
func readCert() []tls.Certificate {
c, err := tls.LoadX509KeyPair("server.crt", "server.key")
if err != nil {
panic(err)
}
return []tls.Certificate{c}
}
func main() {
cfg := &tls.Config{
Certificates: readCert(),
NextProtos: []string{"mqtt"},
}
l, err := tls.Listen("tcp", ":8883", cfg)
if err != nil {
log.Print("listen: ", err)
return
}
svr := mqtt.NewServer(l)
svr.Start()
<-svr.Done
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。