1.端口和服务是什么关系?
通过“IP地址+端口号”来区分不同的服务,可以把服务器比作房子,而把端口比作通向不同房间(服务)的门,他们是一一对应的关系。
2.端口和进程是什么关系?
一个进程需要提供网络服务时,它通常会绑定到一个或多个端口上,其他计算机或进程可以通过该端口向该进程发送数据或请求服务
3.常见的端口有哪些?
HTTP(80端口):超文本传输协议,用于传输网页内容。
SMTP(25端口):简单邮件传输协议,用于发送电子邮件。
MySQL(3306端口):MySQL数据库服务端口。
4.端口重复占用是什么意思?(A访问某端口失败,被B占用)
如果多个进程试图绑定同一个端口,就会发生端口重复占用的情况。
解决方案:结束B进程 或者 A换一个端口访问
5.cmd执行以下命令并且回答问题
C:\Users\UserName>netstat -ano
活动连接
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 632
TCP 0.0.0.0:5036 0.0.0.0:0 LISTENING 4
本地地址和外部地址是啥意思?
- 本地地址:当前计算机上的网络接口(通常是IP地址)+端口号,用于标识本地计算机上的服务或应用程序在哪个地址和端口上监听连接
- 外部地址:与本地计算机正在通信的远程计算机的IP地址和端口号。( 0.0.0.0,表示监听所有可用的网络接口,而不是特定的一个接口)
状态一般有几种,是啥意思?
- ESTABLISHED:表示连接已经建立,数据可以传输。
- TIME_WAIT:表示连接已经关闭,但是仍在等待足够长的时间以确保远程端收到所有的确认信息。
- CLOSE_WAIT:表示本地端已经关闭连接,但远程端还未关闭。
- FIN_WAIT_1, FIN_WAIT_2:表示连接即将关闭或者已经关闭,但是还未完全清除。
PID是进程号的意思,为什么一个进程可以对应两个端口?
一个进程可以监听多个端口,因为一个服务可能需要在不同的端口上提供不同的服务或处理不同的连接。例如,一个Web服务器可能同时监听80端口(HTTP)和443端口(HTTPS),以提供不同的服务。
6.[WinError 10013]以一种访问权限不允许的方式做了一个访问套接字的尝试,请你尝试解决一下报错
跑代码的时候出现端口占用的情况,例如在appsettings.Development.json等位置找到你代码跑的端口号,例如:
"Urls": "http://*:5036",(端口号是5036)
cmd执行以下任意一条命令
netstat -ano
netstat -ano|findstr 5036
比如:
C:\WINDOWS\system32>netstat -ano|findstr 5036
TCP 0.0.0.0:5036 0.0.0.0:0 LISTENING 4
TCP [::]:5036 [::]:0 LISTENING 4
也就是:PID(进程号)=4
解决方案如下(二选一):
方案一:解决掉重复的端口
①taskkill /pid 进程号 /F
taskkill /pid 4 /F②任务管理器找到PID=4的进程并且结束它
方案二:开发时换一个端口,避免端口占用
"Urls": "http://*:5037",(端口号是5037)