netsh 与 winsock 一个是window的脚本工具,另一个则是window是网络编程中要用到的网络接口,而非要说跟我小小的前端有什么影响,那还真有...,当然这个影响是很不好的,比如nodeJS报“socket 系统调用失败”的错误,再比如sublime安装install package controll 失败,安装emmet是无法连接到PyV8,再比如一些联网的应用软件无法连接网络等等。


首先关于 sublime 更多的问题故障处理,我推荐这篇文章:http://blog.csdn.net/freshlover/article/details/44261229/。

如果你也遇到了类似的问题,但是通过以上链接提供的教程无法解决所遇到的奇葩问题,在这里我强烈建议你看看我总结的这篇教程,当然在我的这篇文章中理论知识占了 99%,实际有用的就只有 1%,嘎嘎,在看我来,能够知道背后的大致原理还是更重要的,而且还挺有意思!

最后,如果你真的没有耐心看下去的话,想直接尝试是否能解决你的问题,请直接在 “命令行工具”(管理员模式) 下输入以下命令,进行验证是否能够解决:

netsh winsock reset

然后重新启动计算机即可。


什么是 netsh ?

netsh 是微软提供的一个功能强大的网络配置脚本(network shell)工具。其本质是一个命令行脚本工具,它允许用户从本地或远程显示或修改当前正在运行的计算机的网络配置,并且还可以将当前计算机网络配置进行备份与恢复,更实用的是我们可以将用一个文件将netsh的相关命令保存下来,并命名为.cmd格式的文件,这样即可直接执行。

netsh 的作用?##

很多时候,我们可能需要在不同的网络中工作,一遍又一遍地重复修改IP地址是一件比较麻烦的事。另外,系统崩溃了,重新配置网卡等相关参数也比较烦人(尤其是无线网卡)。事实上,巧妙地利用Windows 2000/XP/2003系统内置的netsh命令,不但可以快速切换IP地址,还可以在静态和动态IP地址设置中随时切换,也可实现随时备份和恢复网络设置等等。

关于 netsh 的实例##

实例一:随时随地切换IP地址

打开“记事本”,新建一个文件,然后在其中输入如下代码:

netsh interface ip set address “本地连接” static 192.168.0.10 255.255.255.0 192.168.0.1 1

然后将文件命名为home.cmd,将它保存在桌面上。

同样,建立一个office.cmd的文件,在其中输入:

netsh interface ip set address “本地连接” static 192.168.1.11 255.255.248.0 192.168.0.1 1

以后在家只要双击home.cmd即可快速将IP地址切换为192.168.0.10,子网掩码:255.255.255.0,网关:192.168.0.1,而到公司后双击office.cmd即可将IP切换至192.168.1.11,子网掩码:255.255.248.0,网关:192.168.1.1。

注意:

1. 上述命令中的“本地连接”为网卡连接的名称,可以在“控制面板”中双击“网络连接”图标查看到相应网卡的名称。如果你有多块网卡,只要修改上面的“本地连接”的名字及IP、子网掩码和网关即可。
2. 以上命令最后1为设置的跃点数,该值较为专业,用户可以设置为1,不必理会。

实例二:固定/动态IP随时换

先在桌面上建立一个static.cmd文件,然后在其中输入相应代码:

netsh interface ip set address “本地连接” static 192.168.0.12 255.255.255.0 192.168.0.1 1

同时建立一个dhcp.cmd文件,在其中输入如下代码:

netsh interface ip set address “本地连接” dhcp
ipconfig /release
ipconfig /renew

以后双击桌面上的static.cmd,会将“本地连接”的IP地址修改为192.168.0.12,子网掩码:255.255.255.0,网关:192.168.0.1。而双击dhcp.cmd文件,会让“本地连接”马上设置为动态IP方式,且会立即从DHCP服务器获得最新IP地址。

实例三:备份/恢复网络设置

netsh dump >d:/netbck.txt

可以将当前的网络状态备份在一个文件中。

netsh exec d:/netbck.txt

可以利用备份快速恢复网络设置

什么是winsock ?

winsock 就是 Windows Sockets。它是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。

winsock 作用在应用层上,可以理解成window系统中只要需要联网的设备或应用软件都需要通过调用该接口来实现,因此一旦winsock发生了问题,必然会导致使用某些协议的应用软件无法正常联网,最典型的例子就是QQ可以登录但是浏览器不能打开网页,或者是浏览器可以打开网页以及百度首页但是 cmd的ping命令无法ping通。

如何解决 winsock 异常带来的网络连接问题?##

很简单,在cmd(管理员)下执行以下命令即可:

netsh winsock reset

然后重新启动计算机即可。

那么这条命令背后原因是什么呢?

netsh winsock reset 是把它恢复到默认状态。作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,
可通过使用netsh winsock reset命令来重置Winsock目录尝试恢复。这个命令可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题。
例如电脑突然出现成功连接网络但不能上网、网络受限,打开网页出现显示问题,无法自动获取IP地址或指定IP地址仍无数据包传输,
使用蓝牙适配器传输文件时提示“使用了与请求的协议不兼容的地址”等等网络协议应用相关故障。

如果把 winsock 比作一棵小树的话,那么 netsh 就可以理解成一把园艺剪刀用于修剪这个树。

可以间接修复的问题有哪些?

使用 netsh winsock reset (可能)可以修复的问题有:

  • nodeJS报 sockt 系统调用失败的问题
  • sublime 无法安装 install package control
  • sublime 启动 install package 报错。
  • sublime 安装插件 emmet 无法连接验证 PyV8等。
  • 在有网络的情况下 ping 命令无法ping通。
  • 有些桌面程序可以使用网络服务,但是浏览器无法打开网页

更多相关的问题我会继续跟踪收录

netsh & winsock & 对前端的影响的更多相关文章

  1. WIN7只能上QQ打不开网页,使用CMD输入netsh winsock reset

    此类问题可以用腾讯电脑管家电脑诊所一键修复,请点击上方的[立即修复]即可. 附:手动修复步骤(来源:腾讯电脑管家电脑诊所,自动修复请点击上方的[立即修复])方案一:手动设置DNS(说明:如果您使用DN ...

  2. netsh winsock reset 11003

    netsh winsock reset 11003 http://files.cnblogs.com/xsmhero/winsock.zip

  3. netsh winsock reset

    最近要在虚拟机上安装 git ,然后托管一个项目,搞得我是焦头烂额.今天下午我卸载了vmware workstation ,但是奇怪的事就发生了,我的google chrome 浏览器没法浏览网页了. ...

  4. NETSH WINSOCK RESET这条命令的含义和作用?

    简单来说netsh winsock reset命令含义是重置 Winsock 文件夹.假设一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就须要用netsh winsock res ...

  5. NETSH WINSOCK RESET这个命令的意义和效果?

    简要地netsh winsock reset命令含义复位 Winsock 文件夹.一机多用的假设Winsock协议配置问题,那么问题会导致网络连接,我们需要使用netsh winsock reset命 ...

  6. ASP.NET程序运行出现WebDev.WebServer40.exe已停止工作解决方法(netsh winsock reset)

    问题描述:在开发系统时候运行程序突然报出"WebDev.WebServer40.exe已停止工作"的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.O ...

  7. 用NETSH WINSOCK RESET命令修复网络

    之前遇到一种情况,QQ可以正常使用,浏览器无法访问网页.在CMD下ping 主机也提示超时. 最后通过NETSH WINSOCK RESET命令重置WINSOCK目录,成功修复了网络连接. Netsh ...

  8. netsh winsock reset命令

    公司一台电脑无法浏览网页,其他基本正常,鼓捣了一个多小时,依然无法解决.. 一开始按照正常思路,感觉是dns的问题,查看了下DNS,真是自定义的,于是改成自动获取,无效 重启了网卡,无效 重启电脑,无 ...

  9. netsh winsock reset命令,作用是重置 Winsock 目录

    Win xp重置 编辑 要为 Windows XP 重置 Winsock,请按照下列步骤操作: 1.单击“开始”,运行中输入cmd. 2.然后输入命令 netsh winsock reset. 3.重 ...

随机推荐

  1. UILabel的讲解

    首先,我先自定义几个名词,方便接下来的讲解工作.如下图所示: 接下来,通过五个方面来讲解我们能对UILabel做出哪些改变或者称之为设置: 1.文字 1.1普通文字:内容text.字体大小font.字 ...

  2. MySQL中文全文搜索

    我们在mysql数据中可以使用match against语句解决中文全文搜索的问题 先看一个例句: SELECT * FROM v9_search WHERE `siteid`= '1' AND `t ...

  3. Android 调出和隐藏软键盘

    1.弹出软键盘 public static void showSoftInputMode(Context context,View windowToken) { final InputMethodMa ...

  4. HBase应用快速学习

    HBase是一个高性能.面向列.可伸缩的开源分布式NoSQL数据库,是Google Bigtable的开源实现. HBase的思想和应用和传统的RDBMS,NoSQL等有比较大的区别,这篇文章从HBa ...

  5. Redis数据类型之字符串String

    String类型是Redis中最基本也最简单的一种数据类型 首先演示一些常用的命令 一.SET key value 和GET key SET key value 和 GET key  设置键值和获取值 ...

  6. 【G】开源的分布式部署解决方案文档 - 部署Console & 控制负载均衡 & 跳转持续集成控制台

    G.系列导航 [G]开源的分布式部署解决方案 - 导航 设置项目部署流程 项目类型:选择Console,这个跟功能无关,只是做项目分类,后面会有后续功能 宿主:选择Console 部署方式:选择原始, ...

  7. C#实现rabbitmq 延迟队列功能

    最近在研究rabbitmq,项目中有这样一个场景:在用户要支付订单的时候,如果超过30分钟未支付,会把订单关掉.当然我们可以做一个定时任务,每个一段时间来扫描未支付的订单,如果该订单超过支付时间就关闭 ...

  8. 关于constraint的用法

    1.主键约束:要对一个列加主键约束的话,这列就必须要满足的条件就是非空因为主键约束:就是对一个列进行了约束,约束为(非空.不重复)以下是代码  要对一个列加主键,列名为id,表名为emp格式为:alt ...

  9. 使用Java注解来简化你的代码

         注解(Annotation)就是一种标签,可以插入到源代码中,我们的编译器可以对他们进行逻辑判断,或者我们可以自己写一个工具方法来读取我们源代码中的注解信息,从而实现某种操作.需要申明一点, ...

  10. 免费给自己的网站加 HTTPS

    简介 本文是通过 Let's Encrypt 提供的免费证书服务,实现让自己的网站加上 HTTPS.我的网站 -- hellogithub,就是通过这种方式实现的 HTTPS,效果如下: Let's ...