27 bytes 那里可以简化一下,
直接用 bytes.Repeat 生成个切片发出去就好了,类似于 memset:
$ go doc bytes.Repeat
package bytes // import "bytes"
func Repeat(b []byte, count int) []byte
Repeat returns a new byte slice consisting of count copies of b.
It panics if count is negative or if the result of (len(b) * count)
overflows.
【 在 lioncat7 (lioncat) 的大作中提到: 】
: 写完了, 感谢指路
: 部分关键代码
: import (
: "encoding/binary"
: )
: buff := bytes.NewBuffer([]byte{})
: var abc int32
: abc = 7777
: err = binary.Write(buff, binary.BigEndian, &abc)
: if err != nil {
: log.Panic(err)
: }
: content := "abcdefg"
: err = binary.Write(buff, binary.BigEndian, []byte(content))
: if err != nil {
: log.Panic(err)
: }
: var zeroByte uint8
: /* fixed length 27 bytes */
: end := 27 - len(content)
: for i := 1; i <= end; i++ {
: err = binary.Write(buff, binary.BigEndian, &zeroByte)
: if err != nil {
: log.Panic(err)
: }
: }
: sendBuff := buff.Bytes()
: _, err = socket.Write(sendBuff) // 发送数据
: if err != nil {
: fmt.Println("发送数据失败,err: ", err)
: return
: }
--
FROM 27.38.197.*