用go语言写一个聊天程序
时间: 2023-02-06 14:12:36 浏览: 130
go语言聊天程序
在 Go 语言中实现聊天程序的步骤如下:
1. 创建一个新的 Go 项目,并安装必要的依赖包。
2. 使用 net 包中的相关函数来实现网络通信。例如,可以使用 net.Dial 函数来连接到服务器,使用 net.Listen 函数来监听客户端的连接请求。
3. 创建一个 goroutine,用于从服务器接收消息并打印到控制台上。
4. 创建另一个 goroutine,用于从控制台读取用户输入并将其发送到服务器。
5. 在主函数中启动这两个 goroutine。
6. 使用合适的方法来结束这两个 goroutine,例如使用通道来传递信号。
这里是一个简单的例子,展示了如何使用 Go 语言实现一个聊天程序的服务器端:
```
package main
import (
"bufio"
"fmt"
"net"
"os"
"strings"
)
func main() {
arguments := os.Args
if len(arguments) == 1 {
fmt.Println("Please provide a host:port string")
return
}
CONNECT := arguments[1]
c, err := net.Dial("tcp", CONNECT)
if err != nil {
fmt.Println(err)
return
}
for {
reader := bufio.NewReader(os.Stdin)
fmt.Print(">> ")
text, _ := reader.ReadString('\n')
fmt.Fprintf(c, text+"\n")
message, _ := bufio.NewReader(c).ReadString('\n')
fmt.Print("->: " + message)
if strings.TrimSpace(string(text)) == "STOP" {
fmt.Println("TCP client exiting...")
return
}
}
}
阅读全文