socket 编程和PHP区别

2024-11-19 15:37:39
推荐回答(2个)
回答1:

这几个其实没什么太大关系,我一层一层给你讲吧
从网络开始:
网络从上到下:应用层、传输层、网络层、链路层、物理层
一般我们正常接触的能上网的软件,都是属于应用层的,这一层负责给用户用的

那传输层是什么呢,就是TCP、UDP这些,这一层负责把用户数据传送到网络层上,或从网络层接收

再然后就是网络层,比如IP协议就是属于网络层的,网络层就是负责把数据包提交到真正的网络上,或者说是提交给链路层,然后链路层再提交给物理层,说白了这个时候数据就会在光纤上面传了。接收的过程和以上刚好就相反喽。

现在可以说socket了,这个词翻译过来就是套接字,其实我也不知道为什么这么翻译,我感觉是因为这个东西是一个“套”,套着一些东西,然后计算机里面一般以“字”为单位,一个字是两个字节,也就是16位。当然也不是说套接字就是16位,我就是想说明这个套接字是一个类似于“单位”一样的东西。

这个“接”最好理解,因为套接字能帮助你连接网络。

套接字编程其实也就是网络编程了,因为网络协议实在是太复杂了,如果从头开始写,估计花上一年时间才能勉强写一个消息包发送出去。所以呢,前人就给你写好了很多东西,这些东西封装起来,就成为了今天的套接字。

通过套接字的这些API呢,也就是函数接口,你就能很简单地连接应用层,传输层还有网络层,也就是说,你只需要调用几个函数,把想发送的数据通过这几个函数封装成数据包,套接字就能把这些数据包提交给操作系统,操作系统呢,就会把这些数据包送到网卡上,然后就发送出去。

最后就是PHP了,PHP和以上就没太大关系了,PHP是一种脚本语言,什么脚本语言呢?其实就是一种解释性的语言,这个解释性的语言又是什么呢,其实就是一些标记语言,通过标记来解释语义,当然也有逻辑的,不过脚本语言是没有C语言等这些编译语言强大的。

PHP还是服务器端语言,用于编写服务器的,服务器你可以暂时理解成网站的后台程序。

嗯,就是这样了,虽然只有10分,但还是忍不住给你答了这么多,原创的哦!

回答2:

你好。php是一门运行在服务器上的脚本语言,它能编写出动态的网页;而socket是一套网络通讯接口。标准上网络是有七层的,但现实中的网络架构是依据tcp/ip这个协议来实现的,总共只有五层。望采纳!