Go 网络编程笔记
2015-10-07 17:29
701 查看
前言: 本文是学习<<go语言程序设计>> -- 清华大学出版社(王鹏 编著) 的2014年1月第一版 做的一些笔记 , 如有侵权, 请告知笔者, 将在24小时内删除, 转载请注明出处!
1. 标准库中提供net包, 支持基于网络层(IP),传输层(TCP/UDP) 以及应用层(如HTTP,FTP,SMTP) 的网络通信.
2. IP 地址和域名解析
- IP地址类型: type IP[] byte
- 常用函数
- func ParseIP(s string) IP 验证IP的合法性, 返回IP地址对象或 nil.
- func (ip IP) String() string 将IPv4转换成点分十进制格式的字符串, IPv6转换成冒号分隔的简写字符串.
View Code
1. 标准库中提供net包, 支持基于网络层(IP),传输层(TCP/UDP) 以及应用层(如HTTP,FTP,SMTP) 的网络通信.
2. IP 地址和域名解析
- IP地址类型: type IP[] byte
- 常用函数
- func ParseIP(s string) IP 验证IP的合法性, 返回IP地址对象或 nil.
- func (ip IP) String() string 将IPv4转换成点分十进制格式的字符串, IPv6转换成冒号分隔的简写字符串.
package main import ( "fmt" "net" "os" ) func checkError(err error) { if err != nil { fmt.Fprintf(os.Stderr, "Fatal Error: %s", err.Error()) os.Exit(1) } } func main() { lAddr, err := net.ResolveIPAddr("ip4", "127.0.0.1") checkError(err) name, err := os.Hostname() checkError(err) rAddr, err := net.ResolveIPAddr("ip4", name) checkError(err) conn, err := net.DialIP("ip4:ip", lAddr, rAddr) checkError(err) _, err = conn.WriteToIP([]byte("Hello Server!"), rAddr) checkError(err) var buf [512]byte n, addr, err := conn.ReadFromIP(buf[0:]) checkError(err) fmt.Println("Reply from server:", addr.String(), " #", string(buf[0:n])) conn.Close() }
View Code
相关文章推荐
- Java学习笔记———《http的get请求和post请求及封装的工具类》
- 《TCP/IP高效编程》 ---------阅读笔记
- http://www.kongxx.info/blog/?p=59
- 深度学习(DL)与卷积神经网络(CNN)学习随笔-05-基于Python的LeNet之CNN
- Github错误:fatal: Authentication failed for 'https://github.com/ ...
- Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据
- php5.5、php 5.6 $GLOBALS ["HTTP_RAW_POST_DATA"]为空
- Android如何进行网络通信(与web交互)
- 用HttpCombiner来减少js和css的请问次数
- TCP为什么需要3次握手与4次挥手
- Theano学习笔记01--Dimshuffle()函数
- Android 封装http请求的工具类
- iOS9 HTTP 不能正常使用的解决办法
- 孤儿进程组 http://blog.chinaunix.net/uid-27767798-id-3711413.html
- Java基础知识强化之网络编程笔记02:Socket通信原理图解
- 异步HttpClient框架用法
- HttpClient总结
- Java基础知识强化之网络编程笔记01:InetAddress类的概述和使用
- 【Java】java和android网络编程 - 对byte数组压缩和解压缩(zip,gzip,bzip2,jzlib)
- 有上下界的网络流问题