QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 942|回复: 0

网络编程中几个收发信息函数所传递内容的困惑。

[复制链接]
发表于 2006-5-19 09:07:40 | 显示全部楼层 |阅读模式
小弟正在学linux下的网络编程,读了不少代码,发现越来越困惑,想在这里问一下好少走些弯路(就连问题都问得很困惑,不知道怎么问):

信息收发函数很多,比如send() sendto(),recv() recvfrom(),分别用于面向连接/非面向连接的程序。
但是这些函数到底传送了什么东西?从7层模型的角度说,不外乎各种协议的数据包,其结构应该是"包头+数据"。
而在读一个chat程序时,使用SOCK_STREAM创建套接字,send和recv的就是普通的字符串,没看见有什么去除包头的动作。
在一个Myping程序中,创建了原始套接字,用sendto发送的是自己构建的icmp包,用recvfrom收到的buf好像是个ip包,需要先去ip头,再去icmp头才是数据。

我不明白了,这些函数传送的信息的内容格式由谁决定???????????
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 16:34 , Processed in 0.064012 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表