2.3 实现 Client v0.1
package main
import (
"fmt"
"net"
"github.com/huoyijie/GoChat/lib"
)
func main() {
// 客户端进行 tcp 拨号,请求连接 127.0.0.1:8888
conn, err := net.Dial("tcp", "127.0.0.1:8888")
// 连接遇到错误则退出进程
lib.FatalNotNil(err)
// 连接服务端成功,启动单独协程处理另一侧发送过来的消息
go lib.HandleConnection(conn)
// 向服务端发送消息
fmt.Fprintf(conn, "Hello, World!\r\n")
// 阻塞主线程,直到收到 ctrl+c 或者 kill 信号,退出进程
lib.SignalHandler()
}
上面的程序有一处使用了协程。
// 1.启动连接处理协程
go lib.HandleConnection(conn)