fixed wrong message size

This commit is contained in:
2017-12-12 20:05:01 +01:00
parent 23702d237d
commit c2952093ea

10
main.go
View File

@@ -64,7 +64,7 @@ func (daemon *LedDaemon) receive() {
break
}
if length > 0 {
msgLen := binary.BigEndian.Uint32(message[0:3])
msgLen := binary.BigEndian.Uint32(message[0:4])
log.Debugf("[%s] Read %d bytes, first protobuf is %d long", daemon.name, length, msgLen)
@@ -97,6 +97,12 @@ func (daemon *LedDaemon) send() {
}
}
func prepareProtobuf(data []byte) []byte {
size := make([]byte, 4)
binary.BigEndian.PutUint32(size, uint32(len(data)))
return append(size, data...)
}
func main() {
killSignals := make(chan os.Signal, 1)
signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM)
@@ -143,7 +149,7 @@ func main() {
data, err := proto.Marshal(wrapperMsg)
check(err)
ledDaemon.data <- data
ledDaemon.data <- prepareProtobuf(data)
<-killSignals
}