admin管理员组

文章数量:1618161

一、问题由来

第一次使用网络调试助手(NetAssist)建立服务端(TCP Server)连接时碰到链接失败的问题,如图所示,其原因在于本地主机端口8080被其他进程的应用占用,导致连接失败。

二、什么是端口?

在解决问题之前,我们先来粗略普及一下什么是电脑的端口。
在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的IP地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。
然而,大多数操作系统都支持多进程同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个?端口机制有效的解决了这个问题。
本地操作系统会给那些有需求的进程分配协议端口(protocal port),每个协议端口由一个正整数标识,如8080、11024、等等,当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。

三、解决方案

在粗略的了解了端口后,我们再来对该问题进行解决。
首先,我们需要查询电脑的端口信息,打开命令提示符DOS(Windows键 + R),输入cmd,进入命令提示符窗口。

1、输入指令:netstat -ano 查看端口状态
 找到8080端口,并找到其对应的端口号信息 11412

注: 若此处输入指令时显示 ‘netstat’不是内部或外部命令,也不是可运行的程序

提示不是内部或外部命令的原因:
  cmd当前操作不在系统文件夹system32下,那么只需输入:cd c:\WINDOWS\system32 即可将当前操作路径切换到Windows 操作系统的系统文件夹下。然后再输入netstat -ano,即可解决。

2、输入指令 tasklist|findstr “11412”

 此处我们输入两个对比:
 				tasklist|findstr “11412”
				tasklist|findstr “8482”


 它提示我们8080端口被ApplicationWebServer.exe程序占用,接下来只需要找一个没有被占用的端口,比如我使用8082,重新配置好即可完成连接。

本文标签: 不能正常助手网络NetAssistTCP