热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

core:bindtolocalhostratherthanallinterfaces

Summary:Priortothischange,TensorBoardwoulddefaulttoservingontheentire

Summary:
Prior to this change, TensorBoard would default to serving on the entire
local network; now, TensorBoard serves to the local machine only, and
the flag

1
--bind_all

can be used to dual-bind to IPv4 and IPv6 on the
entire local network (the previous default). See #2387 and comments
therein for details.

Test Plan:
On my Debian machine, running with

1
strace -e trace=%network

:

  • running with no
    1
    --host

    flag:

    • can connect to loopback on IPv4 only

    • cannot connect over LAN


    • 1
      strace

      shows binding on

      1
      AF_INET


    • a notice about
      1
      --bind_all

      is printed to stderr



  • running with
    1
    --host=localhost

    :

    • same behavior as with no
      1
      --host

      flag, but no notice is printed



  • running with
    1
    --host='::1'

    :

    • can connect to loopback on IPv6 only

    • cannot connect over LAN


    • 1
      strace

      shows binding on

      1
      AF_INET6



  • running with
    1
    --host=0.0.0.0

    :

    • can connect to loopback on IPv4 only

    • can connect over LAN


    • 1
      strace

      shows binding on

      1
      AF_INET



  • running with
    1
    --host='::0'

    :

    • can connect on both IPv4 and IPv6

    • can connect over LAN


    • 1
      strace

      shows binding on

      1
      AF_INET6



  • running with
    1
    --bind_all

    :

    • can connect on both IPv4 and IPv6

    • can connect over LAN


    • 1
      strace

      shows binding on

      1
      AF_INET6

      with an additional syscall
      to

      1
      setsockopt(3, SOL_IPV6, IPV6_V6ONLY, [0], 4)

      to facilitate
      the dual-binding, which is not present in any other tested case



In all cases, the printed serving URL (“TensorBoard x.y.z running at…”)
bears the exact

1
--host

flag, or my full hostname if

1
--bind_all

was
given, or

1
localhost

if neither was given. In all cases, the URL is a
clickable link in my

1
gnome-terminal

.

Note that on my system dual binding to

1
::0

works without an explicit
syscall—i.e.,

1
IPV6_V6ONLY

defaults to

1
0

—but this is not portable.

Connection testing was performed via

1
2
3
4
5
6
7
8
shell

for ipv in 4 6; do

    if curl -sfL -"${ipv}" localhost:6006/data/logdir >/dev/null; then

        printf 'v%d OK\n' "${ipv}"

    else

        printf 'v%d FAIL\n' "${ipv}"

    fi

done

in all cases.

wchargin-branch: localhost-only

该提问来源于开源项目:tensorflow/tensorboard

That plan sounds good to me. Done; PTAL.





   



推荐阅读
  • 我们使用pythonunit ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
author-avatar
拐久了_618
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有