社区
网络编程
帖子详情
问一个关于send的简单问题
block1956815
2004-07-28 02:39:59
如:int PASCAL FAR send(SOCKET s,const char * buf,int len,int flags)
我想问这个buf应该是哪一层的数据?
如: data
tcp+data
还是:ip+tcp+data
指教。
...全文
185
16
打赏
收藏
问一个关于send的简单问题
如:int PASCAL FAR send(SOCKET s,const char * buf,int len,int flags) 我想问这个buf应该是哪一层的数据? 如: data tcp+data 还是:ip+tcp+data 指教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
block1956815
2004-07-29
打赏
举报
回复
up一下!
biliangxia
2004-07-29
打赏
举报
回复
是data, 采用socket 发送数据的方式经常用。
block1956815
2004-07-29
打赏
举报
回复
是的 就是自己添加的信息 会是什么原因? 校言和是重新计算了的~~~
c4313848
2004-07-29
打赏
举报
回复
是ip和tcp自己添加信息的
block1956815
2004-07-29
打赏
举报
回复
现在有这个问题 :重新封装了ip包 但是发送不成功 调用send函数成功 但是目的主机没有收到数据 可能是什么原因?
sugus
2004-07-28
打赏
举报
回复
用raw socket发送时的sento语句里的确应指明目的地址,在自己写IP头部和TCP头部时也得自己写所有信息,包括目的地址和端口。
正常情况下二者应该是一致的。如果不一致的话可能涉及到IP欺骗,具体情况如何,我对于自己封装ip包接触不多,能力所限,就不太清楚了。
block1956815
2004-07-28
打赏
举报
回复
用raw socket发送:
sendto(RawSock, SendBuf, MAX_PACK_LEN,
0, (struct sockaddr*)&addr_in, sizeof(addr_in));
(struct sockaddr*)&addr_in---这里不也指明了地址~~~??? 前提是自己封装ip包
铖邑
2004-07-28
打赏
举报
回复
os会将对端的地址、端口等信息存放在与SOCKET s关联的数据结构中。
sugus
2004-07-28
打赏
举报
回复
hehe 你上面不是说用send(SOCKET s,const char * buf,int len,int flags)吗
如果是diagram socket,用的sendto(SOCKET s,const char FAR* buf, int len,int flags,
const struct SOCK_ADDR* to,int tolen)里自然要写明目的地址了,用send(SOCKET s,const char * buf,int len,int flags)就会报错了
block1956815
2004-07-28
打赏
举报
回复
socket在send之前就已经和对方主机connect了
------------------------------------------------------------------
是这样吗? 是stream socket才是吧。 好像raw socket和diagram socket都不需要先建立连接的。。。
sugus
2004-07-28
打赏
举报
回复
data的tcp、ip是在tcp层、ip层封装数据报的时候自动填入的
socket在send之前就已经和对方主机connect了,他自然知道该往哪个主机传
block1956815
2004-07-28
打赏
举报
回复
如果是data 那么os如何知道data的ip tcp信息呢? 他如何决定该往那里 internet上哪个目的主机转发这个data?
bluwindhrt
2004-07-28
打赏
举报
回复
send跟recv的buffer都是data层数据,其上的各层它们会负责“包装”!
numen27
2004-07-28
打赏
举报
回复
data
block1956815
2004-07-28
打赏
举报
回复
up!
jim2001999
2004-07-28
打赏
举报
回复
gz
FFmpeg4.3开发系列之15:同步录音录屏并存储或直播实战
敬告:该系列的课程在抓紧录制更新中,敬请大家关注。敬告: 该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等。包括:音视频、流媒体、直播、Android、视频监控28181、等。我将带领大家一起来学习:录音录屏、同步机制、存储、直播推流。具体内容包括:1.FFmpeg录音录屏讲解及命令行实战。2.FFmpeg录屏API实战讲解。3.FFmpeg录音API实战讲解。4.FFmpeg音视频同步API实战讲解。5.FFmpeg同步录音录屏并直播实战。 音视频与流媒体是一门很复杂的技术,涉及的概念、原理、理论非常多,很多初学者不学 基础理论,而是直接做项目,往往会看到c/c++的代码时一头雾水,不知道代码到底是什么意思,这是为什么呢? 因为没有学习音视频和流媒体的基础理论,就比如学习英语,不学习基本单词,而是天天听英语新闻,总也听不懂。所以呢,一定要认真学习基础理论,然后再学习播放器、转码器、非编、流媒体直播、视频监控、等等。 梅老师从事音视频与流媒体行业18年;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。
关于
send
时产生WSAEWOULDBLOCK
问
题
关于
send
时产生WSAEWOULDBLOCK时的处理办法,得出如下结论: 产生这个错误只是说明out buffer已经满了,不代表出错. 可以等待FD_WRITE消息,此时将没有发送完成的数据再次发送出去. WSAEWOULDBLOCK错误意味着请求的操作在调用期间没有时间完成
简单
计算机面试题库及答案_计算机面试常
问
问
题
及答案
计算机专业的迅猛发展,成为如今最受欢迎的专业之一,尤其是薪酬福利的丰厚,更是让很多人学习计算机技术,那么计算机面试常
问
问
题
有哪些呢?随360建筑网小编一起来看看吧。1.关键字static的作用是什么?这个
简单
的
问
题
很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体,
一个
被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外),
一个
被声明为静...
【vbers】ibv_post_
send
|IBV_
SEND
_SOLICITED|RDMA
ibv_post_
send
() 函数原型为 int ibv_post_
send
(struct ibv_qp *qp, struct ibv_
send
_wr *wr, struct ibv_
send
_wr **bad_wr); 其中struct ibv_
send
_wr结构体的定义为: struct ibv_
send
_wr { uint64_t wr_id; struct ibv_
send
_wr *next; ..
linux
send
失败_linux中
send
函数MSG_NOSIGNAL异常消息
最近2周在做 ineedle 的国舜项目扩展,需要使用 socket 的 tcp 连接向对方发送消息,当然需求很
简单
,只是按照对方要求发送指定格式的消息,程序结构也非常的
简单
,一对多的 client/server 模型,ineedle 发送给多个服务器消息。我们这边在分析出结果,封装为相应格式消息后发送给对方,只需要在线程循环发送消息即可,便在测试环境中编写
简单
的socket进行模拟消息发送,一对...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章