作者:Toby_魚5902 | 来源:互联网 | 2023-02-01 20:24
我不太明白各层之间的区别是什么,在编写程序时有什么不同,上层的可以直接调用下层的东西吗?
8 个解决方案
没人帮我吗?我真的很想知道,这个问题已经困扰我很久了。
建议看看tcp/ip协议.
--------
应用层 HTTP/FTP...
--------
中间是接口socket,编程时利用socket调用tcp或者udp救行了
--------
传输层 UDP/TCP
--------
网络层 IP (系统实现的)
--------
谢谢楼上的朋友。可我看如果用winsocket的话好像都是用
socket( int af, int type, int protocol )这个函数来建socket,
是不是用type表示不同的类型,如果是TCP的话用SOCK_STREAM,UDP用SOCK_DGRAM,而IP用SOCK_RAW。
不知道我的理解对不对。
可是什么叫“用socket调用tcp或者udp”?
这三个参数表示三种不同的数据传输方式:
sock_stream表示的是一个持续连接,如TCP.
sock_dgram表示的是一个非持续连接,如UDP.
这两个参数是工作在同一个层上的,就是应用层,也就是说它们没有告诉你应用层以下是怎么工作的.
而sock_raw不同,它是工作在IP层上的,它会把原始的ip包,包括ip包的头部上一起传给你,而解释和编译ip头部这个工作就只好由你自己来完成了.
3ks。
那如果继承CSocket编的程序是不是也在应用层?
这个问题问得好,不过我想看看msdn你就很清楚了,其实大家都讲不清楚的~