Procházet zdrojové kódy

add set channel name function

Joyit před 1 měsícem
rodič
revize
705b7f946d
2 změnil soubory, kde provedl 18 přidání a 0 odebrání
  1. 14 0
      line.go
  2. 4 0
      type.go

+ 14 - 0
line.go

@@ -54,6 +54,20 @@ func (c *Line) Channel() string {
 	return c.channel
 }
 
+// 设置频道名
+// 检查是否包含@,只替换@前面部分
+func (c *Line) SetChannel(name string) {
+	if strings.Contains(name, "@") {
+		c.channel = name
+	} else {
+		if inx := strings.Index(c.channel, "@"); inx >= 0 {
+			c.channel = name + c.channel[inx:]
+		} else {
+			c.channel = name + "@" + c.channel
+		}
+	}
+}
+
 // 获取远程的地址
 func (c *Line) RemoteAddr() net.Addr {
 	if c.state == Connected {

+ 4 - 0
type.go

@@ -67,6 +67,10 @@ type ResponseData struct {
 	conn *Line
 }
 
+func (r *ResponseData) Conn() *Line {
+	return r.conn
+}
+
 type PingData struct {
 	Id uint16
 }