最近看了一下go語言,就試著寫了乙個聊天室,練練手而已,但是對於我乙個搞php的來說,go語言對我啟發很大。客服端
package main
import (
"fmt"
"net"
"os"
)//定義通道
var ch chan int = make(chan int)
//定義暱稱
var nickname string
func reader(conn *net.tcpconn)
fmt.println(string(buff[0:j]))
}}func main()
//為什麼不能放到if之前? err不為nil的話就是painc了 (painc 與 defer 辨析一下!!!)
defer conn.close()
go reader(conn)
fmt.println("請輸入暱稱")
fmt.scanln(&nickname)
fmt.println("你的暱稱為:", nickname)
for
}
伺服器端
package main
import (
"fmt"
"net"
)var connmap map[string]*net.tcpconn
func checkerr(err error) int
fmt.println("錯誤")
return -1
}return 1
}func say(tcpconn *net.tcpconn)
//廣播形式,向各個客戶端傳送資料
for _, conn := range connmap
conn.write(data[:total])}}
}func main()
}
實現乙個簡單的WebSocket聊天室
websocket 是 html5 開始提供的一種在單個 tcp 連線上進行全雙工通訊的協議。websocket 使得客戶端和伺服器之間的資料交換變得更加簡單,允許服務端主動向客戶端推送資料。在 websocket api 中,瀏覽器和伺服器只需要完成一次握手,兩者之間就直接可以建立永續性的連線,並...
golang 聊天室學習筆記
1聊天室伺服器端 package main import fmt net strings time 定義的此結構體為全域性map的value值,包括每乙個使用者的姓名,ip位址和私人管道 type client struct 這個函式是將私人管道中的內容傳送給使用者,配合全域性管道message使用...
乙個簡單聊天室的建立
經過乙個階段的asp學習,下面我們結合所學過的內容建立乙個最簡單的聊天室,雖然很簡單,但是大家可以通過他來掌握乙個聊天室建立的基本過程,並且可以不斷的完善其功能.下面介紹其主要步驟 3,最後把txtwho的內容初始化.也就是當瀏覽者輸入過一次自己的姓名以後就不用再次輸入了,為了區分每個不同的瀏覽者,...