当前位置: 首页 > wzjs >正文

宝鸡网站建设天伟网络焊工培训班

宝鸡网站建设天伟网络,焊工培训班,wordpress sql插入,鄂州北京网站建设前言 IP 地址实际上并不是分配给计算机的,而是分配给网卡的,因此当计算机上存在多块网卡时,每一块网卡都会有自己的 IP 地址。 绑定 127.0.0.1 是绑定到 lookback 这个虚拟的本地回环接口,该接口只处理本机上的数据,…

前言

IP 地址实际上并不是分配给计算机的,而是分配给网卡的,因此当计算机上存在多块网卡时,每一块网卡都会有自己的 IP 地址

绑定 127.0.0.1 是绑定到 lookback 这个虚拟的本地回环接口,该接口只处理本机上的数据,如果服务器绑定 127.0.0.1 外部是无法访问的。

绑定 0.0.0.0 是绑定到所有可用的网络接口,也就是说,此时可以接受来自任何网络接口的连接请求,外部是可以正常访问的。

在 ubuntu 系统可以用 ifconfig 命令查看网络接口信息,Win 系统用 ipconfig 命令查看。

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.30.36.166  netmask 255.255.240.0  broadcast 172.30.47.255lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0

下面用代码来演示两种情况的区别。

绑定 127.0.0.1

以下代码由 通义千问 2.5 生成:

func handleConnection(conn net.Conn) {defer conn.Close()scanner := bufio.NewScanner(conn)for scanner.Scan() {text := scanner.Text()fmt.Println("Received:", text)_, err := conn.Write([]byte(text + "\n"))if err != nil {fmt.Println("Error writing to socket:", err)break}}if err := scanner.Err(); err != nil {fmt.Println("Error reading from socket:", err)}
}func main() {port := "8080"listener, err := net.Listen("tcp", "127.0.0.1:"+port)if err != nil {fmt.Println("Error listening:", err.Error())os.Exit(1)}defer listener.Close()fmt.Println("Listening on:" + port)for {conn, err := listener.Accept()if err != nil {fmt.Println("Error accepting:", err.Error())continue}go handleConnection(conn)}
}

运行这段代码:

$ go run echo.go 
Listening on:8080

先在本机使用 telnet 测试能否访问:

$ telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
hello
hello

此时一切正常,服务器可以正常响应。

再换另一台计算机测试:

$ telnet 47.100.200.202 8080
Trying 47.100.200.202...
telnet: Unable to connect to remote host: Connection refused

直接报错,不能访问。

这里访问的 47.100.200.202 是服务器的公网 IP,上面的 172.30.36.166 是内网 IP。

绑定 0.0.0.0

将 127.0.0.1 修改为 0.0.0.0 后重新运行。

listener, err := net.Listen("tcp", "0.0.0.0:"+port)

还是先在本机测试:

$ telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
hi
hi

还是可以正常访问,没有问题。

再换到另一台计算机测试:

$ telnet 47.100.200.202 8080
Trying 47.100.200.202...
Connected to 47.100.200.202.
Escape character is '^]'.
hello hi
hello hi

这时就可以正常访问了。

参考资料

  • 《网络是怎样连接的》
  • 断网了,还能 ping 通 127.0.0.1 吗?
http://www.dtcms.com/wzjs/47784.html

相关文章:

  • 公司做竞拍网站的收入怎么报税上海关键词优化推荐
  • php建设网站教程湖南正规关键词优化报价
  • 建设一个旅游电子商务网站百度快照查询入口
  • 银行的网站怎么做网上竞价
  • 怎么做符合seo的网站推广公司有哪些
  • 重庆网站建设模板舆情监控
  • wordpress插件h5佛山网站优化服务
  • 数据库修改wordpress登录密码忘记宁波百度快照优化排名
  • 网站虚拟空间过期网站开发北京公司
  • 网站建设微信端写软文一篇多少钱合适
  • 武汉做机床的公司网站徐州百度seo排名优化
  • 中央精神文明建设指导委员网站网络营销手段
  • wordpress装多站点点金推广优化公司
  • 博山做网站好的在线crm系统
  • 购物网站开发的背景和意义做公司网站
  • 抛丸机网站怎么做如何在百度上发表文章
  • 吉安做网站多少钱网站搜索排名优化价格
  • 河北大城县网站建设公司关键词优化哪家好
  • 蚌埠网站关键词优化百度seo整站优化
  • 苏州市住房和城乡建设局信息网站新品牌推广策略
  • 国际网站怎么做优化汽车seo是什么意思
  • 随州做网站企业网络推广平台
  • 公益网站建设方案友情链接qq群
  • 上海商城网站建设公司现在网络推广方式
  • 新潮远网站建设宜昌网站建设公司
  • 深圳网站制作公司电话如何申请网站域名流程
  • 网站用什么图片格式好哪些平台可以发布软文
  • 广州企业网站建设哪家好代运营公司靠谱吗
  • 共享ip做网站百度学术官网
  • 系统管理下载青岛seo关键词排名