好的,我刚开始学习golang,到目前为止我还喜欢它。但是我发现他们的文档并不适合初学者,这是我的问题。 我想编写一个接受连接并向客户端写入内容的小服务器程序。到目前为止没问题。
然而,只要事物得到真正的功能,我就需要能够处理多个客户端,我对goroutines来说也是一个很好的练习。
listener, error := net.Listen("tcp", remote)
con, error := listener.Accept()
go handleClient(&con);
func handleClient(con *net.Conn) {
我已经删除了大部分代码。问题是,无论我尝试什么,我都无法通过con
。
con.RemoteAddr undefined (type *net.Conn has no field or method RemoteAddr)
(在此示例中发现:http://raycompstuff.blogspot.com/2009/12/simpler-chat-server-and-client-in.html)。 所以我试着查看文档,但它只是给了我网络包的来源。 通过源读取,并认为它应该是
undefined: TCPConn
如何将客户端连接传递给goroutine,这样我就可以同时处理多个客户端?
答案 0 :(得分:0)
好的,想通了。 有些人实际上已经写了我想写的东西了。 https://github.com/dustin/gomemcached/blob/master/mc_conn_handler.go
go handleClient(con);
func handleClient(con net.Conn) {