
【go语言 socket编程系列】
natpan
keep learning
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【go语言 socket编程系列】LookupHost与LookupPort函数
func LookupHost(name string) (cname string, addrs []string, err os.Error)func LookupPort(network, service string) (port int, err os.Error)两个函数都在 src/net/lookup.go中定义。【LookupHost】// LookupHost ...原创 2018-09-25 14:07:02 · 2201 阅读 · 0 评论 -
【go语言 socket编程系列】一个简单的HTTP服务器及http.ListenAndServe函数
【简单的HTTP服务器】源文件server.go中 ListenAndServe()函数的注释中有个简单的HTTP服务实现代码,如下package mainimport ( "io" "log" "net/http")func HelloServer(w http.ResponseWriter, r *http.Request) { io.WriteString(w, ...原创 2018-11-22 11:07:52 · 16327 阅读 · 0 评论 -
【go语言 socket编程系列】Request类型 http.Get方法及http.NewRequest方法
【Request类型】Request类型定义在request.go文件中,用于设置一个http请求来发送给服务端。// A Request represents an HTTP request received by a server// or to be sent by a client.//// The field semantics differ slightly betw...原创 2018-10-30 14:12:23 · 10959 阅读 · 0 评论 -
【go语言 socket编程系列】Response数据类型及http.Head方法获取头部信息
【Response数据类型】Response定义在response.go中,源码如下// Response represents the response from an HTTP request.//// The Client and Transport return Responses from servers once// the response headers have...原创 2018-10-22 15:02:29 · 3365 阅读 · 0 评论 -
【go语言 socket编程系列】从单线程到简单多线程的服务端搭建
简单单线程serverdemo通过下面代码简单搭建一个服务端,并通过telnet模拟客户端,演示多客户端同时请求访问单线程服务器时的阻塞现象。package mainimport ( "fmt" "net" "os")func main() { service := ":2001" tcpAddr, err := net.ResolveTCPAddr("tcp", s...原创 2018-09-29 13:50:13 · 5690 阅读 · 0 评论 -
【go语言 socket编程系列】简单UDP协议服务端与客户端的搭建
【服务端】func ResolveUDPAddr(network, address string) (*UDPAddr, error)func ListenUDP(network string, laddr *UDPAddr) (*UDPConn, error)服务端主要通过下面两个函数搭建UDP服务。通过ResolveUDPAddr 获取 ip port通过ListenUDP ...原创 2018-10-08 14:22:20 · 908 阅读 · 0 评论 -
【go语言 socket编程系列】Conn接口类型及简单服务器实现Read Write 和Close方法
【Conn接口类型】Conn是一种通用的面向流的网络连接,多个Goroutine可以同时调用Conn上的方法。主要通过Read(b []byte)读取数据,Write(b [byte]) 写数据 及Close() 关闭连接。其源码定义在net.go中type Conn interface { Read(b []byte) (n int, err e...原创 2018-09-27 21:20:30 · 88759 阅读 · 2 评论 -
【go语言 socket编程系列】net.DialTCP、net.DIalUDP与net.Dial
【函数原型】func DialTCP(network string, laddr, raddr *TCPAddr) (*TCPConn, error) func DialUDP(network string, laddr, raddr *UDPAddr) (*UDPConn, error)func Dial(network, address string) (Conn, error)D...原创 2018-10-12 18:43:26 · 16011 阅读 · 0 评论 -
【go语言 socket编程系列】TCPListener类型 及net.ListenTCP函数并搭建简单服务器
【TCPListener类型】TCPListener是一个TCP网络监听器,通常在服务端监听客户端发来的请求。其类型定义在tcpsock.go文件中。其本质是个网络文件描述符,与TCPConn类型一样。type TCPListener struct { fd *netFD}【net.ListenTCP函数】 func ListenTCP(network st...原创 2018-09-27 14:25:35 · 9850 阅读 · 0 评论 -
【go语言 socket编程系列】IPAddr类型及ResolveIPAddr方法
【类型定义】IPAddr类型本质上是一个IP类型,源码定义文件:golang/src/pkg/net/iprawsock.go常用方法会返回一个*IPAddr的数据。package net// IPAddr represents the address of an IP end point.type IPAddr struct { IP IP ...原创 2018-09-21 15:04:56 · 4280 阅读 · 0 评论 -
【go语言 socket编程系列】TCPConn类型与net.DialTCP方法
【TCPConn】net.TCPConn是允许服务端与客户端之间的全双工通信的Go类型。其定义在tcpsock.go文件。其定义如下type TCPConn struct { conn}注意到 conn 是小写的c,其定义在net.go文件中,源码如下type conn struct { fd *netFD}即conn是一个struc...原创 2018-09-26 15:19:06 · 8467 阅读 · 0 评论 -
【go语言 socket编程系列】 IP类型数据 type IP
【IP类型】 type IP []byte// IPv4 addresses are 4 bytes; IPv6 addresses are 16 bytes.// An IPv4 address can be converted to an IPv6 address by// adding a canonical prefix (10 zeros, 2 0xFFs).// T...原创 2018-09-20 21:50:52 · 845 阅读 · 0 评论 -
【go语言 socket编程系列】TCPAddr类型与ResolveTCPAddr方法
【TCPAddr】TCPAddr 是一个包含 IP和port的 struct。其定义在tcpsock.go 文件中。// TCPAddr represents the address of a TCP end point.type TCPAddr struct { IP IP Port int Zone string // IP...原创 2018-09-26 10:29:10 · 10386 阅读 · 0 评论 -
【go语言 socket编程系列】一个简单的HTTP服务器及func (srv *Server) Serve(l net.Listener) 方法
【简单的HTTP服务器】源文件server.go中 ListenAndServe()函数的注释中有个简单的HTTP服务实现代码,如下package main import ( "io" "log" "net/http") func HelloServer(w http.ResponseWriter, r *http.Request) { io.WriteString(w...原创 2018-11-22 16:47:20 · 1304 阅读 · 0 评论