IM-System版本0.9.3实现client更新用户名命令
This commit is contained in:
parent
2cb4cd4120
commit
ce1502d59c
@ -4,7 +4,9 @@ package main
|
|||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
"net"
|
"net"
|
||||||
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Client struct {
|
type Client struct {
|
||||||
@ -51,6 +53,19 @@ func (client *Client) menu() bool {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// client的更新用户名接口
|
||||||
|
func (client *Client) UpdateName() bool {
|
||||||
|
fmt.Println(">>>>>> 请输入新用户名:")
|
||||||
|
fmt.Scanln(&client.Name)
|
||||||
|
sendMsg := "rename|" + client.Name + "\n"
|
||||||
|
_, err := client.conn.Write([]byte(sendMsg))
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("conn.Write err:", err)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
func (client *Client) Run() {
|
func (client *Client) Run() {
|
||||||
for client.flag != 0 {
|
for client.flag != 0 {
|
||||||
for !client.menu() {
|
for !client.menu() {
|
||||||
@ -67,10 +82,17 @@ func (client *Client) Run() {
|
|||||||
case 3:
|
case 3:
|
||||||
// 更新用户名
|
// 更新用户名
|
||||||
fmt.Println("已选择更新用户名模式...")
|
fmt.Println("已选择更新用户名模式...")
|
||||||
|
client.UpdateName()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 处理server回应的消息(直接显示到标准输出)
|
||||||
|
func (client *Client) DealResponse() {
|
||||||
|
// 一旦client.conn有数据就直接copy到stdout标准输出上,永久阻塞监听
|
||||||
|
io.Copy(os.Stdout, client.conn)
|
||||||
|
}
|
||||||
|
|
||||||
// 定义全局变量
|
// 定义全局变量
|
||||||
var serverIp string
|
var serverIp string
|
||||||
|
|
||||||
@ -95,6 +117,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(">>>>>> 连接服务器成功……")
|
fmt.Println(">>>>>> 连接服务器成功……")
|
||||||
|
|
||||||
|
// 单独开启一个goroutine去处理server发送的消息
|
||||||
|
go client.DealResponse()
|
||||||
|
|
||||||
// for {
|
// for {
|
||||||
// time.Sleep(1 * time.Second)
|
// time.Sleep(1 * time.Second)
|
||||||
// }
|
// }
|
||||||
|
Loading…
Reference in New Issue
Block a user