使用 Golang 的 socket 模块创建服务器和客户端之间的通信
服务端
package main
import (
"fmt"
"net"
)
func main() {
// 监听端口 8080
ln, err := net.Listen("tcp", ":8080")
if err != nil {
fmt.Println(err)
return
}
defer ln.Close()
fmt.Println("Server is listening on port 8080...")
// 接受客户端连接
conn, err := ln.Accept()
if err != nil {
fmt.Println(err)
return
}
defer conn.Close()
// 读取客户端发送的数据
buf := make([]byte, 1024)
n, err := conn.Read(buf)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Received:", string(buf[:n]))
}
客户端
package main
import (
"fmt"
"net"
)
func main() {
// 连接服务器
conn, err := net.Dial("tcp", "127.0.0.1:8080")
if err != nil {
fmt.Println(err)
return
}
defer conn.Close()
// 发送数据到服务器
_, err = conn.Write([]byte("Hello, server!"))
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Message sent!")
}