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. 玩转 SSH(一):使用 Struts 搭建简单站点

    我们将使用 Struts 搭建一个简单的应用,当用户发送 HTTP 请求时,Action 类响应并设置返回信息,JSP 页面显示 Action 类中设置的信息. 首先,我们使用 Maven 的 mav ...

  2. C# CodeFirst编程模型一

    定义实体类型: 定义两个实体Menu和MenuCard,一个menu关联一个menucard,menucard包含对所有menu的引用. public class Menu { public int ...

  3. myeclipse2017破解失败解决办法

    最近,笔者安装的myeclipse2017破解出了问题,破解本来是很简单的事,就是几步而已,但是一直出问题,现在安利一波myeclipse2017版破解失败解决办法.诸如下图:()因为笔者已经破解好了 ...

  4. 基于MVC和Bootstrap的权限框架解决方案 一.搭建HTML

    因为某些原因,因为需要,最新要做一套客户管理系统,但是不满足于仅有的框架. 看了很多大牛写的框架,强大是强大,代码也太TM多了,乱七八糟话不多说,开始吧 随便在网上找到一套好看的HTML,看起来还不错 ...

  5. MySQL元数据库——information_schema

    平时使用MySQL客户端操作数据库的同学,只要稍微留神都会发现,除了我们建的库之外,还经常看到三个数据库的影子: 1. information_schema 2. performance_schema ...

  6. Java在Debug的时候,有些变量能无限展开(循环了)?

    抛异常的时候,Java Debug 时,有些变量能无限展开,怎么做到的? 先来一个报错的例子: Exception in thread "main" java.lang.Stack ...

  7. ios UIImagePickerController简单说明

    首先,VC中添加#import <MobileCoreServices/MobileCoreServices.h> 使用(NSString *) kUTTypeImage定义在其中 判断是 ...

  8. js 不要使用new

    (1)不要使用new Array(),new Number, new String, or new Boolean. 等等 如果要新建数组,没有必要使用new Array(),使用[];原因是直观. ...

  9. 使用gulp编译sass

    之前写了一篇在ruby环境下如何编译sass的文章:<css预处理器sass使用教程(多图预警)>,随着现在前端构建工具的兴起,也学着使用这些工具来编译sass.webpack存在一个CS ...

  10. 基于 Haproxy 构建负载均衡集群

    1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...