1. TCP Server/Client开发

net包提供network I/O开发接口,包括TCP/IPUDPDNSUnix domain sockets

常用开发一般仅需要最基础接口或函数:

服务器:net.Listen()net.Accept()

ln, err := net.Listen("tcp", ":8080")if err !=nil {//handle error
}for{conn, err :=ln.Accept()if err !=nil {//handle error
}go handleConnection(conn)
}

客户端:net.Dial()

conn, err := net.Dial("tcp", "golang.org:80")if err !=nil {//handle error
}
fmt.Fprintf(conn,"GET / HTTP/1.0\r\n\r\n")
status, err := bufio.NewReader(conn).ReadString('\n')//...

相关API定义:

func Listen(network, address string) (Listener, error)
func (l*TCPListener) Accept() (Conn, error)
func Dial(network, addressstring) (Conn, error)

  1. web开发

net/http包为eb开发提供支持,能很简单地对Web的路由,静态文件,模版,cookie等数据进行设置和操作。

主要是两步:设置访问路由,设置监听端口。

func HandleFunc(pattern string, handler func(ResponseWriter, *Request))
func ListenAndServe(addrstring, handler Handler) error
func HFunc(w http.ResponseWriter, req*http.Request)

示例应用如下:

import ("fmt""net/http""strings""log")func main(){http.HandleFunc("/", sayhelloName)  //设置访问路由err := http.ListenAndServe(":9090", nil) //设置监听端口if err !=nil {log.Fatal("ListenAndServe:", err)}
}func sayhelloName(w http.ResponseWriter, r*http.Request){r.ParseForm()fmt.Println("---------------")fmt.Println(r.Form)fmt.Println("path:", r.URL.Path)fmt.Println("scheme:", r.URL.Scheme)fmt.Println(r.Form["url_long"])fmt.Println("====")for k, v :=range r.Form{fmt.Println("key:", k)fmt.Println("val:", strings.Join(v, " "))}fmt.Fprintf(w,"Hello wang!")
}

参考:

  1. https://golang.google.cn/pkg/net/

  2. https://www.kancloud.cn/kancloud/the-way-to-go/165098 go入门指南

  3. http://wiki.jikexueyuan.com/project/go-web-programming/03.3.html go web编程

  4. Writing Web Applications

转载于:https://www.cnblogs.com/embedded-linux/p/11318418.html

golang之网络开发相关推荐

  1. Web前端:一些必不可少的惊人的网络开发工具和资源

    在这个竞争激烈的领域,如果你希望你的商业网站在所有活跃的网站中可见,你必须实施创新的想法,跟随发展趋势并利用顶级的网站开发工具.web开发人员在开发业务级网站时考虑未来趋势是不可避免的. 因此,在这篇 ...

  2. 辍学的名人_我辍学去追求成为网络开发人员和设计师的梦想

    辍学的名人 by Carlos Sz 由Carlos Sz 我辍学去追求成为网络开发人员和设计师的梦想 (I dropped out of college to pursue my dreams of ...

  3. devops开发运维训练营_嗨,网络开发人员训练营的毕业生:这是您第一份工作需要了解的内容。...

    devops开发运维训练营 by Rachel Bird 雷切尔·伯德(Rachel Bird) 嗨,网络开发人员训练营的毕业生:这是您第一份工作需要了解的内容. (Hey web dev bootc ...

  4. 【.Net MF网络开发板研究-01】IP地址设定及简单web演示

    早期推出的开发板并不具备网口,所以.NET Micro Framework很多基于网络的功能,便无从研究了,其实在物联网时代,具备网络功能才是王道. 新开发板除了具备以太网模块以外,还增加了USB H ...

  5. iOS开发系列--网络开发(转)

    iOS开发系列--网络开发 2014-10-22 08:34 by KenshinCui, 66365 阅读, 56 评论, 收藏, 编辑 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微 ...

  6. python网络编程视频教程_Java网络开发视频教程 – 一站式学习Java网络编程视频教程 全面理解BIO(无密)...

    Java网络开发视频教程 – 一站式学习Java网络编程视频教程 全面理解BIO(无密) 全面理解BIO/NIO/AIO 网络层编程,是每一个开发者都要面对的技术.课程为解决大家学习网络层知识的难题, ...

  7. 如何取回服务器上的文件网页设计,毕业设计(论文)-基于内容中心网络开发平台的文件分享精选.docx...

    毕业设计(论文)-基于内容中心网络开发平台的文件分享精选 基于内容中心网络开发平台的文件分享摘要当前的网络环境与网络诞生之初时相比已经发生变化,信息更多被用于分享和合作,而非仅仅从一地传送至另一地,基 ...

  8. 【.Net MF网络开发板研究-03】获取雅虎天气(HttpClient示例)

    在上篇文章介绍了Http Server,通过PC上的IE浏览器(相当于Http client)来访问开发板上的Http服务.这次我们在网络开发板上实现Http Client,获取雅虎网站的天气信息,并 ...

  9. 《精通Windows Sockets网络开发--基于Visual C++实现》.(孙海民).[PDF]ckook

    图书作者: 孙海民 图书编号: 9787115179111 图书格式: PDF 出 版 社: 人民邮电出版社 出版年份: 2008 图书页数: 400-500 [内容简介] windows socke ...

最新文章

  1. linux 内网共享文件夹_在Linux下访问Windows共享文件夹
  2. 运动想象系统中的特征提取算法和分类算法
  3. python【蓝桥杯vip练习题库】ALGO-75筛选号码(约瑟夫环)
  4. mysql删除重复的判断_MySQL中查询、删除重复记录一共有多少种方法?
  5. 算法 判断多个点是否在同一圆周线上_凸包问题——礼物包裹算法
  6. 一文看懂高可用:异地多活
  7. 经典数字信号处理图书的个人评述【转】
  8. c++语言将任意进制转化10进制,C++ 基础编程之十进制转换为任意进制及操作符重载...
  9. 2021 年软件开发趋势方向
  10. VC++中多线程学习(MFC多线程)三(线程同步包含:原子互锁、关键代码段、互斥器Mutex、Semaphores(信号量)、Event Objects(事件))
  11. 不一样的Office 365之 —— 使用Delve查看热门文档
  12. 不能使用泛型的形参创建对象_泛型就这么简单
  13. java获取当前时间sql_JAVA中获取当前系统时间
  14. 单片机通过wifi发送信息到服务器,怎么设计能让单片机通过wifi功能与手机数据交互...
  15. linux 开源oa系统,linux版64位免费OA办公系统4.17
  16. android系统无法识别u盘,OTG无法识别U盘怎么办 OTG无法识别解决方法
  17. 贝多芬第九交响曲,卡拉扬63年版,第四乐章演唱部分歌词文件
  18. 设计模式之模板方法模式详解
  19. 必要转载 1927年12月31日午夜一秒谜案
  20. 4.0 树莓派做下位机播放视频、控制电机舵机、超声波检测、paj7620手势传感器控制,树莓派串口通信等程序分析

热门文章

  1. TransE:Translating Embedding多元关系数据嵌入(知识图谱嵌入)2013 NIPS
  2. ajax传值给java_java+jquery+ajax+json实现传值
  3. 算法笔记--KMP算法 EXKMP算法
  4. svn报错:This error was generated by a custom hook script on the Subversion server.
  5. 1月全球Web服务器市场:Apache份额回升至41.64%
  6. 交换机的质量害死人呀!
  7. rstudio和matlab,R语言与matlab循环时间对比
  8. python运行方法_对python中执行DOS命令的3种方法总结
  9. arduino 3d打印机_Firefox OS流视频,使用Arduino销售3D打印机等
  10. openstack 功能_OpenStack Juno的新功能