发布时间:2024-11-24 10:06:12
import ( "net" )
接下来,我们可以使用net.DialUDP()函数创建一个UDP连接。conn, err := net.DialUDP("udp", nil, addr)
在这个函数中,第一个参数是协议类型(udp),第二个参数是本地地址(nil表示自动选择一个可用的本地地址),第三个参数是服务器地址(包含IP地址和端口号)。 一旦建立了连接,我们就可以使用conn.Write()函数将数据写入UDP服务器。data := []byte("Hello, UDP Server!") _, err = conn.Write(data)
在进行数据写入之后,我们还可以使用conn.Read()函数从UDP服务器接收数据。recvData := make([]byte, 1024) _, _, err = conn.ReadFromUDP(recvData)
if err != nil { fmt.Println("Error connecting to UDP server:", err) return }
如果连接建立成功,但在写入或读取数据时出现错误,我们也需要进行相应的处理。if err != nil { fmt.Println("Error writing data to UDP server:", err) return }
import ( "fmt" "net" ) func main() { addr, err := net.ResolveUDPAddr("udp", "localhost:8888") if err != nil { fmt.Println("Error resolving UDP address:", err) return } conn, err := net.DialUDP("udp", nil, addr) if err != nil { fmt.Println("Error connecting to UDP server:", err) return } defer conn.Close() data := []byte("Hello, UDP Server!") _, err = conn.Write(data) if err != nil { fmt.Println("Error writing data to UDP server:", err) return } recvData := make([]byte, 1024) _, _, err = conn.ReadFromUDP(recvData) if err != nil { fmt.Println("Error reading data from UDP server:", err) return } fmt.Println(string(recvData)) }