用批处理断开网络连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用批处理断开网络连接相关的知识,希望对你有一定的参考价值。

如题。我想用批处理将 断开连接,然后再连接网络做到一个批处理里面,有这样的命令吗?...请教一下...在说的通俗一点...就是先把连接断开,然后再连接网络的命令,或者批处理。

  具体方法如下:
  1、点击开始,点击运行,输入notepad,点击确定;
  2、复制以下内容到记事本:(此脚本不受有线或无线连接的限制)
  @echo off

  rem 定义循环间隔时间:
  set secs=30

  echo.
  echo ============================================
  echo == 此脚本用于计算机共享访问达到上限后使用 ==
  echo == 运行脚本后会自动断开一些访问连接 ==
  echo == 每%secs%秒种进行查询,并执行清除命令 ==
  echo ============================================
  echo.
  net session >nul || goto :error

  :begin
  set clear=0

  echo.
  for /f "tokens=1,2" %%i in (\'net session ^| find "/"\') do (
  net session %%i /delete /y >nul 2>&1
  set clear=1
  echo %time:~0,8% 清除访问来源: %%i [%%j]
  )
  echo.

  if %clear%==0 (echo %time:~0,8% 现无人访问此计算机, %secs%秒后继续...
  ) else (echo %time:~0,8% 清除完毕, %secs%秒后继续...)

  ping 127.0.0.1 -n %secs% -w 0 >nul 2>&1
  goto begin

  :error
  echo 权限不足,无法执行,请与管理员联系.
  echo.
  pause >nul 2>&1 |echo 请按任意键关闭...

  3、按ctrl+s,弹出保存对话框,输入1.bat,保存类型选择所有文件,点击保存;
  4、双击运行该文件即可。
参考技术A vbs code:Const ssfCONTROLS = 3
sConnectionName = "本地连接" '可改成需要控制的连接名称,如"无线网络连接"等
sEnableVerb = "启用(&A)"
sDisableVerb = "停用(&B)" 非xp 系统可能 是禁用
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)
set oNetConnections = nothing
for each folderitem in oControlPanel.items
if folderitem.name = "网络连接" then
set oNetConnections = folderitem.getfolder: exit for
end if
next
if oNetConnections is nothing then
msgbox "未找到网络连接文件夹"
wscript.quit
end if
set oLanConnection = nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name) = lcase(sConnectionName) then
set oLanConnection = folderitem: exit for
end if
next
if oLanConnection is nothing then
msgbox "未找到 '" & sConnectionName & "' item"
wscript.quit
end if
bEnabled = true
set oEnableVerb = nothing
set oDisableVerb = nothing
s = "Verbs: " & vbcrlf
for each verb in oLanConnection.verbs
s = s & vbcrlf & verb.name
if verb.name = sEnableVerb then
set oEnableVerb = verb
bEnabled = false
end if
if verb.name = sDisableVerb then
set oDisableVerb = verb
end if
next
'debugging displays left just in case...
'
'msgbox s ': wscript.quit
'msgbox "Enabled: " & bEnabled ': wscript.quit
'not sure why, but invokeverb always seemed to work
'for enable but not disable.
'
'saving a reference to the appropriate verb object
'and calling the DoIt method always seems to work.
'
if bEnabled then
' oLanConnection.invokeverb sDisableVerb
oDisableVerb.DoIt
else
' oLanConnection.invokeverb sEnableVerb
oEnableVerb.DoIt
end if
'adjust the sleep duration below as needed...
'
'if you let the oLanConnection go out of scope
'and be destroyed too soon, the action of the verb
'may not take...
'
wscript.sleep 400
参考技术B 楼上的那不算是用命令连接和断开其实不用VB也能行得通断开的命令是:Rasdial 宽带连接 /disconnect(其中宽带连接是连接时的名字,如果你的宽带连接名是其他的,自己改)连接的命令是:Rasdial 宽带连接 用户名 密码)(宽带连接同上,用户名和密码就是你的ADSL拨号时的用户名和密码)后缀名改成.cmd或者是.BAT

TCP连接突然断开的处理方法

TCP是因特网中的传输层协议,使用三次握手协议建立连接,下面是TCP建立连接的全过程。

技术分享图片

技术分享图片

技术分享图片

 

 技术分享图片

 

TCP断开连接的过程:TCP四次挥手。

 技术分享图片

 

TCP/IP 协议簇分层结构

数据链路层主要负责处理传输媒介等众多的物理接口细节;

网络层负责处理数据分组在网络中的活动,包括上层数据报文的分割、选路 等;

传输层则负责为两台主机提供端到端的通信;

应用层将负责处理应用程序的特定细节。

其中,IP 协议是网络层的核心协议,用来提供不可靠、无连接的数据传递服务;而 TCP 协议则处于传输层,其基于不可靠无连接的 IP 协议能够为两台主机提供面向连接的、可靠的通信。

 

 

探测 TCP 连接断连的三种常用方法

探测 TCP 连接是否断连或是工作正常的原理比较简单:定期向连接的远程通信节点发送一定格式的信息并等待远程通信节点的反馈,如果在规定时间内收到来自远程节点的正确的反馈信息,那么该连接就是正常的,否则该连接已经断连。依据该原理,目前常用的探测方法有以下三种。

应用程序的自我探测

应用程序本身附带探测其自身建立的 TCP 连接的功能。这种方法具有极大的灵活性,可以依据应用本身的特点选择相应的探测机制和功能实现。然而,实际应用中,大部分应用程序均没有附带自我探测的功能。

第三方应用程序的探测

此种方法就是在服务节点上安装相应的第三方应用程序来探测该节点上所有的 TCP 连接是否正常或是已经断连。该方法最大的不足就是需要所有支持探测的客户端能够识别来自该探测应用的数据报文,因此,实际应用中比较少见。

TCP 协议层的保活探测

最常用的探测方法就是采用 TCP 协议层提供的保活探测功能即 TCP 连接保活定时器。尽管该功能并不是 RFC 规范的一部分,但是几乎所有的类 Unix 系统均实现了该功能,所以使得该探测方法被广泛使用。

 

转载:http://www.ibm.com/developerworks/cn/aix/library/0808_zhengyong_tcp/ TCP 连接断连问题剖析

http://blog.csdn.net/hguisu/article/details/38700899  TCP连接的状态详解以及故障排查

http://blog.csdn.net/kkkkkxiaofei/article/details/12966407 Tcp通信中服务器处理客户端意外断开

以上是关于用批处理断开网络连接的主要内容,如果未能解决你的问题,请参考以下文章

MySQL连接超时自动断开连接应该怎样处理

移动网络状态断开连接

怎么使用批处理启动和关闭网络连接?

宽带连接工具[bat]

如何用C语言检测网络是不是连接上、已连接、已断开状态

为啥我的电脑网络连接老是断开?