idioma Ir - basado en UDP programación de sockets
Descripción del blog
La información en el artículo de que a través de Internet y organizar conclusión personal, lo que significa que la experiencia de aprendizaje individual y resumen, ¿y si la infracción, póngase en contacto conmigo para borrar, gracias!
UDP Introducción
protocolo UDP (Protocolo de datagramas de usuario) es el nombre chino del Protocolo de datagramas de usuario, es la OSI (Open System Interconnection, interconexión de sistemas abiertos) modelo de referencia de un conexión de protocolo de capa de transporte, sin establecer una conexión y datos pueden ser transmitidos directamente recepción, son poco fiables, sin sincronización de la comunicación, pero el protocolo UDP en tiempo real es mejor, que se utiliza generalmente para los campos relacionados con el vídeo en directo.
implementación en el lado del servicio
package main
import (
"fmt"
"net"
)
func main(){
//监听udp
listen,err := net.ListenUDP("udp",&net.UDPAddr{
IP:net.IPv4(0,0,0,0),
Port: 1021,
})
if err != nil {
fmt.Println("监听失败,err:",err)
return
}
//关闭连接
defer listen.Close()
for {
var data [1024]byte
//读取
n, addr ,err := listen.ReadFromUDP(data[:])
if err != nil{
fmt.Println("读取失败,err:",err)
continue
}
fmt.Printf("接收的内容是:%v,来自地址:%v,字节数量:%v\n",string(data[:n]), addr, n)
//发送数据
_, err = listen.WriteToUDP(data[:n],addr)
if err != nil{
fmt.Println("发送失败,err:",err)
continue
}
}
}
implementación del cliente
package main
import (
"fmt"
"net"
)
func main(){
socket, err := net.DialUDP("udp",nil,&net.UDPAddr{
IP: net.IPv4(0,0,0,0) ,
Port: 1021,
})
if err != nil{
fmt.Println("连接失败,err:",err)
return
}
defer socket.Close();
sendData := []byte("你好,服务器")
//发送数据
_, err = socket.Write(sendData)
if err != nil{
fmt.Println("发送失败,err:",err)
return
}
//接受数据
data := make([]byte,4096)
n, remoteAddr, err := socket.ReadFromUDP(data)
if err != nil{
fmt.Println("接受失败,err:",err)
return
}
fmt.Printf("发送的信息:%v,目标地址:%v,字节数量:%v\n",string(data[:n]),remoteAddr,n)
}
Compilar la prueba
usando Goland
En primer lugar ejecutar el servidor, y luego ejecutar el cliente
Ejecutar el cliente para enviar mensajes de forma predeterminada
servidor recibe
gracias
universal Network
Y un trabajador posee