|
@@ -5,7 +5,6 @@ import (
|
|
|
"io"
|
|
"io"
|
|
|
"net"
|
|
"net"
|
|
|
"strconv"
|
|
"strconv"
|
|
|
- "strings"
|
|
|
|
|
"sync"
|
|
"sync"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
@@ -277,18 +276,18 @@ func (b *Broker) decode(pd packetDecoder) (err error) {
|
|
|
|
|
|
|
|
func (b *Broker) encode(pe packetEncoder) (err error) {
|
|
func (b *Broker) encode(pe packetEncoder) (err error) {
|
|
|
|
|
|
|
|
- parts := strings.Split(b.addr, ":")
|
|
|
|
|
- if len(parts) != 2 {
|
|
|
|
|
- return fmt.Errorf("invalid addr")
|
|
|
|
|
|
|
+ host, portstr, err := net.SplitHostPort(b.addr)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return err
|
|
|
}
|
|
}
|
|
|
- port, err := strconv.Atoi(parts[1])
|
|
|
|
|
|
|
+ port, err := strconv.Atoi(portstr)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return err
|
|
return err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
pe.putInt32(b.id)
|
|
pe.putInt32(b.id)
|
|
|
|
|
|
|
|
- err = pe.putString(parts[0])
|
|
|
|
|
|
|
+ err = pe.putString(host)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return err
|
|
return err
|
|
|
}
|
|
}
|