golang实现聊天室(四)
生活随笔
收集整理的這篇文章主要介紹了
golang实现聊天室(四)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
golang實現聊天室(四)
服務端給已經建立連接的客戶端發送消息
client1
func main() {var conn, err = net.DialTimeout("tcp", "127.0.0.1:6888", 30*time.Second)if err != nil {log.Fatal("conn error")}for {conn.Write([]byte("user 1\n "))time.Sleep(5 * time.Second)re_message := make([]byte, 255)length, err := conn.Read(re_message)if err != nil {return}re_message = re_message[:length]fmt.Printf("%s\n", re_message)}conn.Close() }client2
func main() {var conn, err = net.DialTimeout("tcp", "127.0.0.1:6888", 30*time.Second)if err != nil {log.Fatal("conn error")}for {conn.Write([]byte("user 1\n "))time.Sleep(5 * time.Second)re_message := make([]byte, 255)length, err := conn.Read(re_message)if err != nil {return}re_message = re_message[:length]fmt.Printf("%s\n", re_message)}conn.Close() }server
func main() {var conn, err = net.Listen("tcp","127.0.0.1:6888")if err != nil {return}for {c, err := conn.Accept()if err != nil {return}go Receive(c)} }func Receive(c net.Conn) {for {reveive_byte := make([]byte, 256)lens, err := c.Read(reveive_byte)if err != nil {log.Fatal("Receive error")}reveive_byte = reveive_byte[:lens]fmt.Printf("%s\n", reveive_byte)c.Write([]byte("123"))} }下次目標
服務端建立已連接客戶端信息表。
總結
以上是生活随笔為你收集整理的golang实现聊天室(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英雄联盟手游启程任务怎么完成
- 下一篇: DNF现在最高多少级了