赞
踩
本博客已弃用,当时存在一些小细节错误后期也不再修改了
欢迎来我的新博客
在撸我们的服务器之前,先好好给大家好好理一理套接字这块的一些知识和概念。
先问问你自己,什么是端口号?这个概念可不是一个模模糊糊的东西
是不是和进程id(pid)很像,没错,确实就是很像,因为进程id是也用来标识一个主机上唯一的一个进程,我们通过某个进程的进程id,可以对该进程进行几乎所有操作,如进程控制,进程间通信等等。而端口号和它的区别就在于:进程id所有进程一定都会有,而端口号却不是所有进程都会有,端口号是需要在不同主机间进行通信时才会绑定给参与通信的某个进程的一个标识符,也就是说,端口号是在两台主机间时才会有的概念和标识,但是进程id是在这个进程被创建出后一直伴随到它死亡(某种程度上就和一个人的名字一样),这个进程id才能被新创建的进程使用。
个人感觉有个很形象的例子:在一个学校里,每个学生都拥有学号,并且是从你成为这个学校的学生那一刻起就有了,这个学号也能唯一的来标识你,对于学校的管理层来说,他们只要拿到你的学号,就可以得到你的所有信息,并且可以进行相关事宜的安排,这就像进程id。假设这个学校里有一批学生,他们是被学校任命去长期与其他学校学生进行交流的一批人,学校又给这一批人分配了一些编号,这些编号又能唯一标识这些人,这就像端口号。不知道你明白了没,反正我觉得很形象了(๑•̀ㅂ•́)و✧
关于端口号再扩展一点重要的东西
端口号的划分:
0 - 1023: 知名端口号, HTTP, FTP, SSH等这些广为使用的应用层协议, 他们的端口号都是固定的,也就是你不能用的。
1024 - 65535: 操作系统动态分配的端口号. 客户端程序的端口号, 就是由操作系统从这个范围分配的,也就是你能用的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。