标题:关于socket编程
只看楼主
gisdreamfly
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2009-3-2
结帖率:87.5%
已结贴  问题点数:10 回复次数:3 
关于socket编程
小弟刚刚接触通信这块,对这块还不懂,所以想请教几个问题:
1、tcp在数据接收时,调用TcpSocket.Receive(buff);方法,是缓冲区满了进行处理,还是接收一条指令就处理?
    举例:我设置缓冲区为1K,一条指令为600个字节的情况下,调用TcpSocket.Receive(buff);方法,缓冲区内只有1条指令,还是会将下条指令的一部分也存储在缓冲区内然后处理??因为如果是后面这种情况的话,肯定要将多余的和后面的指令进行合并来处理
   
    另外udp是什么情况?
2、如果一包的包长大于了设置的缓冲区大小,包是会被自动截断,分多次发送,接收的时候再合并包吗?

    因为小弟不是计算机专业,也不是通信专业,可以说对通信这块外行,能否推荐本实用的入门书?


希望各位大虾不吝赐教,先行谢过了。
搜索更多相关主题的帖子: socket 
2010-06-29 15:34
gisdreamfly
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2009-3-2
得分:0 
大虾们解释下吧
2010-06-29 15:43
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
得分:5 
1,只有1个数据包,其实不叫指令,数据包有同步头,所以可以区分开

2,udp数据截断后合不起来,除非你截的时候加上序列号,再在收端还原

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2010-06-30 09:45
liu30211
Rank: 4
来 自:江苏苏州
等 级:业余侠客
威 望:1
帖 子:73
专家分:258
注 册:2008-6-10
得分:5 
以下是引用jedypjd在2010-6-30 09:45:25的发言:

1,只有1个数据包,其实不叫指令,数据包有同步头,所以可以区分开

2,udp数据截断后合不起来,除非你截的时候加上序列号,再在收端还原
ok

有做VOD的朋友
联系

VOD播发控件 OSD控件 双屏控件 手写控件
2010-06-30 13:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-311626-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.244935 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved