在Socket通信中,为什么需要指定端口?端口由谁指定?端口的数据范围是怎样的?能否使用那些端口?

在Socket通信中,为什么需要指定端口?端口由谁指定?端口的数据范围是怎样的?能否使用那些端口?,第1张

答:

因为在实际的通信当中,具体来讲并不是主机与主机之间的通信,而是应用进程之间的通信,在一个主机上,一般只有一块网卡,它的IP地址只有一个,但是运行在主机上的程序却是有很多个的,那如何区分这些程序呢,所以就要指定端口端口号又分为两大类,服务器所使用的端口号和客户端所使用的端口号 其中服务器所用的端口号耐模码又分为熟知端口号(0~1023)和登记端口号(1024~49151),熟知端口号已经分配给TCP/IP当中的一些常用程序,如下图所示,因此我们在进行相关开发时,就不能选择熟知端昌明缓口号

4. 客户端使用的端口号范围为49152~65535。因为这类单口号仅在客户进程运行时动态选择,不槐竖需要我们人工指定,因此也叫短暂端口号。

(更新)您要看到PID对应的是哪个程序的端口,只肢禅码需要在任务管理器中,选择查看\列,在”列”选项卡中,把PID号勾上,就可以在任务管理器中看到进袭耐程的PID号了...希望对您有用

在CMD里面输入netstat -ano

可以找到端口和应用程序对应的PID号

再打开任务管理器,选到进程,选择查看\列,把PID号钩选,就可以看到响应进程的PID号了 ``再去对比就行了

希望对你有帮助

****************************************************

可能是命令没有输入正确哦~~`

注意netstat 跟-ano之间有一个空格哦~`

是netstat -ano

另外:不知道您是什么系统,怎么会出现英文的解释

(!!参数分开打也可以,比如netstat -o就会显示出进程ID)

对应的中文解释是:

显示协议统计信息和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

-a显示所有连接和监听端口。

-b显示包含于创建每个连接或监听端口的

可执行组件。在某些情况下已知可执行组件

拥有多个独立组件,并且在这些情况下

包含历哪于创建连接或监听端口的组件序列

被显示。这种情况下,可执行组件名

在底部的 [] 中,顶部是其调用的组件,

等等,直到 TCP/IP 部分。注意此选项

可能需要很长时间,如果没有足够权限

可能失败。

-e显示以太网统计信息。此选项可以与 -s

选项组合使用。

-n以数字形式显示地址和端口号。

-o显示与每个连接相关的所属进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是

下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议

之一:

IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-r显示路由表。

-s显示按协议统计信息。默认地,显示 IP、

IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;

-p 选项用于指定默认情况的子集。

-v与 -b 选项一起使用时将显示包含于

为所有可执行组件创建连接或监听端口的

组件。

interval 重新显示选定统计信息,每次显示之间

暂停时间间隔(以秒计)。按 CTRL+C 停止重新

显示统计信息。如果省略,netstat 显示当前

配置信息(只显示一次)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12366779.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存