关于Python网络编程中端口号为啥不会重复问题释义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Python网络编程中端口号为啥不会重复问题释义相关的知识,希望对你有一定的参考价值。

参考技术A

总所周知,TCP协议端口号只有65536个,其中0 ~ 1023是知名端口,1024 ~ 65535是动态端口。网上应用软件有那么多,那为什么这些端口号都不会重复呢?

1、TCP服务端端口一般程序员 开发应用程序 时就是设置了的,根据程序功能设置相应的协议端口(如果开发应用时没有设置的话,操作系统会自动在动态端口号这个范围内随机生成一个给开发的应用程序使用,这样TCP客户端访问TCP服务端的时候就会因为无法确认TCP服务端端口号而出现访问不了的问题)

2、TCP客户端端口号是程序访问TCP服务端请求连接时,从用户电脑里面正在运行的程序中随机匹配一个还没有用到的动态端口号,如此就不会存在打开程序和已经在电脑上运行的程序端口号之间出现重复的问题了。

注:如果以上描述还是有些看不懂的话请看下图,下图是同一台TCP客户端在一段时间内相继几次访问同一台TCP服务端时留下的痕迹截图。总之一句号, 服务端端口号和客户端端口号是不一致的 ,程序员在开发应用程序时,服务端一般都会绑定端口号,但是客户端是没有绑定的。客户端端口号是在客户端向服务端发送请求连接时,操作系统从用户电脑里面正在运行的程序中选择没有用到的端口号里面随机匹配的,随机分配的端口号会同客户端发送请求连接的数据包一起发送给服务端,服务端再通过客户端给的ip地址及动态端口号找到相对应的客户端,并给与响应。

神经网络为啥要用sigmoid函数?为啥要映射到0-1之间?求解释

参考技术A (1)对于深度神经网络,中间的隐层的输出必须有一个激活函数。否则多个隐层的作用和没有隐层相同。这个激活函数不一定是sigmoid,常见的有sigmoid、tanh、relu等。
(2)对于二分类问题,输出层是sigmoid函数。这是因为sigmoid函数可以把实数域光滑的映射到[0,1]空间。函数值恰好可以解释为属于正类的概率(概率的取值范围是0~1)。另外,sigmoid函数单调递增,连续可导,导数形式非常简单,是一个比较合适的函数
(3)对于多分类问题,输出层就必须是softmax函数了。softmax函数是sigmoid函数的推广

以上是关于关于Python网络编程中端口号为啥不会重复问题释义的主要内容,如果未能解决你的问题,请参考以下文章

java中端口号被占用的解决办法

分享一篇Tomcat服务中交互式修改server.xml中端口号的脚本

神经网络为啥要用sigmoid函数?为啥要映射到0-1之间?求解释

神经网络为啥要用sigmoid函数?为啥要映射到0-1之间?求解释

为啥我们需要 RPC 编程? [关闭]

为啥'if not'检查python中的空字符串[重复]