socket网络编程23讲,黑客技术入门go网络编程之UDP
socket网络编程23讲,黑客技术入门go网络编程之UDP服务器端监听UDP地址返回的类型即是UDPAddr类型。UDPAddr结构体定义如下:UDP地址在go语言中使用ResolveUDPAddr函数可以获取到一个UDPAddr结构体类型,源码如下:
黑客离不开网络,网络通信离不开TCP和UDP协议,前面一篇文章黑客技术入门之go实现tcp socket通信中介绍了基于tcp socket通信,本篇主要介绍基于UDP Socket的网络通信。
黑客
UDP是英文User Datagram Protocol的简称,中文是用户数据报协议。UDP是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
go语言中提供的socket编程接口主要在net包中,udp socket编程中有两个重要类型UDPAddr和UDPConn。
UDPAddr结构体定义如下:
UDP地址
在go语言中使用ResolveUDPAddr函数可以获取到一个UDPAddr结构体类型,源码如下:
返回的类型即是UDPAddr类型。
服务器端监听UDP地址
之后通过for循环不断地从UDPConn读取客户端数据,再把服务器当前时间发送给客户端。ReadFromUDP函数读取UDP数据包,如果没有数据可读,该函数会阻塞。
客户端通过net包中Dial函数连接服务器
之后客户端读取命令行输入的文本,发送到服务端,同时读取服务器端发送的数据。
客户端在读取控制台输入时,采用的是goroutine。goroutine是Go语言中并发的执行单位,可以实现读写异步,在控制台阻塞时不影响读取服务器端发送过来的数据。
今天就给大家介绍到这里!
大家好!我是黑客之家小编,黑客之家头条号
分享黑客技术,物联网、GO、python、Kotlin、Android、Java编程知识,科技资讯等
喜欢的朋友可以关注我的头条号!
相关阅读:
黑客技术入门之go实现tcp socket通信
黑客技术入门之python实现tcp socket通信
黑客编程入门之如何用python编写一个命令行程序?