网络编程
已收录文章:34篇
-
主机地址是网络通信最重要的数据之一,net 包中定义了三种类型的主机地址数据类型:IP、IPMask 和 IPAddr,它们分别用来存储协议相关的网络地址。IP 地址类型在 net 包中,IP 地址类型被定义成193 收藏
-
Go语言中 Dial() 函数的原型如下:func Dial(net, addr string) (Conn, error)其中 net 参数是网络协议的名字,addr 参数是 IP 地址或域名,而端口号以“:”的形式跟随在地址或域名的后面,端口号可选377 收藏
-
在 Go语言开发的 Web 框架中,有两款著名 Web 框架分别是 Martini 和 Gin,两款 Web 框架相比较的话,Gin 自己说它比 Martini 要强很多。Gin 是 Go语言写的一个 web 框架,它具有运行速度快,分组的路由399 收藏
-
Go语言中 RPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络细节的应用程序通信协议。RPC 协议构建于 TCP 或 UDP,或者是 HTTP 之上,允374 收藏
-
我们已经知道,Go语言支持接口。在 Go语言里,接口是一组预定义方法的组合,任何一个类型均可通过实现接口预定义的方法来实现,且无需显示声明,所以没有任何方法的空接口可以代表任何101 收藏
-
UDP 和上一节《TCP网络程序设计》中的 TCP 一样,也工作在网络传输层,但和 TCP 不同的是,它提供不可靠的通信服务。UDP 网络编程也为 C-S 模式,要设计一个服务器,一个或多个客户机。另外,U288 收藏
-
Go语言内置的 net/http 包提供了最简洁的 HTTP 客户端实现,我们无需借助第三方网络通信库(比如 libcurl)就可以直接使用 HTTP 中用得最多的 GET 和 POST 方式请求数据。基本方法net/http 包的 Client 类163 收藏
-
网络是一个自然使用并发的领域,因为服务器通常一次处理很多来自客户端的连接,每一个客户端通常和其他客户端保持独立。本节介绍 net 包,它提供构建客户端和服务器程序的组件,这些程121 收藏
-
下面我们实现这样一个例子:使用 ICMP 协议向在线的主机发送一个问候,并等待主机返回,具体代码如下所示。package mainimport ( "net" "os" "bytes" "fmt")func main(202 收藏
-
下面我们建立 TCP 链接来实现初步的 HTTP 协议,通过向网络主机发送 HTTP Head 请求,读取网络主机返回的信息,具体代码如下所示。package mainimport ( "net" "os" "bytes" &443 收藏
-
实际上,在前面《Dial()函数》一节中介绍的 Dial() 函数其实是对 DialTCP()、DialUDP()、DialIP() 和 DialUnix() 的封装。我们也可以直接调用这些函数,它们的功能是一致的。这些函数的原型如下:func Dial409 收藏
-
在常见的 Web 框架中,router 是必备的组件。Go语言圈子里 router 也时常被称为 http 的 multiplexer。通过前面几节的学习,我们已经知道了如何用 http 标准库中内置的 mux 来完成简单的路由功能了。如151 收藏