Просмотр исходного кода

use net.SplitHostPort instead of strings.Split

Burke Libbey 12 лет назад
Родитель
Сommit
24faa7d6f3
1 измененных файлов с 5 добавлено и 6 удалено
  1. 5 6
      broker.go

+ 5 - 6
broker.go

@@ -5,7 +5,6 @@ import (
 	"io"
 	"net"
 	"strconv"
-	"strings"
 	"sync"
 )
 
@@ -277,18 +276,18 @@ func (b *Broker) decode(pd packetDecoder) (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 {
 		return err
 	}
 
 	pe.putInt32(b.id)
 
-	err = pe.putString(parts[0])
+	err = pe.putString(host)
 	if err != nil {
 		return err
 	}