基于UDP协议的服务器

本博客已弃用,当时存在一些小细节错误后期也不再修改了

欢迎来我的新博客

在撸我们的服务器之前,先好好给大家好好理一理套接字这块的一些知识和概念。


 先问问你自己,什么是端口号?这个概念可不是一个模模糊糊的东西

端口号:标识特定主机上唯一一个进程的标识符

是不是和进程id(pid)很像,没错,确实就是很像,因为进程id是也用来标识一个主机上唯一的一个进程,我们通过某个进程的进程id,可以对该进程进行几乎所有操作,如进程控制,进程间通信等等。而端口号和它的区别就在于:进程id所有进程一定都会有,而端口号却不是所有进程都会有,端口号是需要在不同主机间进行通信时才会绑定给参与通信的某个进程的一个标识符,也就是说,端口号是在两台主机间时才会有的概念和标识,但是进程id是在这个进程被创建出后一直伴随到它死亡(某种程度上就和一个人的名字一样),这个进程id才能被新创建的进程使用。

个人感觉有个很形象的例子:在一个学校里,每个学生都拥有学号,并且是从你成为这个学校的学生那一刻起就有了,这个学号也能唯一的来标识你,对于学校的管理层来说,他们只要拿到你的学号,就可以得到你的所有信息,并且可以进行相关事宜的安排,这就像进程id。假设这个学校里有一批学生,他们是被学校任命去长期与其他学校学生进行交流的一批人,学校又给这一批人分配了一些编号,这些编号又能唯一标识这些人,这就像端口号。不知道你明白了没,反正我觉得很形象了(๑•̀ㅂ•́)و✧

关于端口号再扩展一点重要的东西

端口号的划分:

0 - 1023: 知名端口号, HTTP, FTP, SSH等这些广为使用的应用层协议, 他们的端口号都是固定的,也就是你不能用的。

1024 - 65535: 操作系统动态分配的端口号. 客户端程序的端口号, 就是由操作系统从这个范围分配的,也就是你能用的。

这些也算是一个程序员的常识了,记不住也混个眼熟吧
ssh服务器, 使⽤用22端⼝
ftp服务器, 使⽤用21端⼝(更具体的话是20和21) 
telnet服务器, 使⽤用23端⼝ 
http服务器, 使⽤用80端⼝ 
https服务器, 使⽤用443 

需要注意的是在TCP/IP协议中, 用 "源IP", "源端口号", "目的IP", &#

  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值