Go Socket编程

来源:互联网 发布:金相检验软件系统 编辑:程序博客网 时间:2024/05/21 00:15
一.网络进程间通信
进程通信的概念最初来源于单机系统



二.什么是TCP/IP
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是目前在网络中应用得最广泛的协议,TCP/IP协议中的核心协议有TCP(传输控制协议)、UDP(用户数据报协议)和IP(因特网协议)。
TCP协议可以在网络用户启动的软件应用进程之间建立通信会话,并实现数据流量控制和错误检测,这样就可以在不可靠的网络上提供可靠的端到端数据传输。UDP协议是一种无连接的协议,它在传输数据之前不建立连接,也不提供良好的可靠性和差错检查,只仅仅依赖于校验来保证可靠。

IP协议的基本功能是提供数据传输、数据包编址、数据包路由,分段等。通过IP编址约定,可以成功地将数据通过路由传输到正确的网络或者子网。每个网络站点具有一个32位的IP地址,它和48位MAC地址一起协作,完成网络通信,IP协议也是一种无连接的协议。



三.Socket网编编程
Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。



四.Go语言网络编程
Go标准库中提供net包,支持基于网络层(IP),传输层(TCP/UDP) 以及应用层(如HTTP,FTP,SMTP) 的网络通信。