Socket编程
go语言的Socket编程更简单,服务器用Listen
函数监听端口,客户端用Dial
函数连接端口,双方都用Read
和Write
来通信。
1.服务器监听端口(Listen函数)
package main
import ( "fmt" "net" )
func main() { listener, err := net.Listen("tcp", "localhost:8080") if err != nil { fmt.Println("监听失败:", err.Error()) return }
defer listener.Close()
fmt.Println("正在监听端口 8080...")
for { conn, err := listener.Accept() if err != nil { fmt.Println("接受连接失败:", err.Error()) continue }
go handleConnection(conn) } }
func handleConnection(conn net.Conn) { remoteAddr := conn.RemoteAddr().String() fmt.Printf("收到来自 %s 的连接\n", remoteAddr)
conn.Close() }
|
2.客户端连接服务器(Dial)
package main
import ( "fmt" "net" )
func main() { conn, err := net.Dial("tcp", "localhost:8080") if err != nil { fmt.Println("连接失败:", err.Error()) return }
defer conn.Close()
fmt.Println("已成功连接服务器")
}
|