社区
网络编程
帖子详情
面试题,新鲜出炉,socket的,进者有分!
chary8088
2011-12-26 03:15:02
1 怎么检测socket是不是断开了?
2 按顺序发送出去的数据包,在接收时顺序乱了,是什么原因导致的?
3 如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办?
我回答:
1 超时检测,比如发送超时,接收超时
2 如果是tcp,应该是tcp重传造成的,比如第一次发送失败,然后重传造成的
UDP很可能就是前一个包延迟造成的
3 尝试发,好像不对
我不知道我的回答对不对,请大家讨论!
...全文
980
25
打赏
收藏
面试题,新鲜出炉,socket的,进者有分!
1 怎么检测socket是不是断开了? 2 按顺序发送出去的数据包,在接收时顺序乱了,是什么原因导致的? 3 如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办? 我回答: 1 超时检测,比如发送超时,接收超时 2 如果是tcp,应该是tcp重传造成的,比如第一次发送失败,然后重传造成的 UDP很可能就是前一个包延迟造成的 3 尝试发,好像不对 我不知道我的回答对不对,请大家讨论!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xengine-qyt
2012-01-05
打赏
举报
回复
简单,第二题很明显你打错了!
helloboy1991
2012-01-05
打赏
举报
回复
[Quote=引用 19 楼 jsyren 的回复:]
1,心跳包
2,如果用tcp,顺序不是你的程序来考虑的问题。
3,如果是传了50k,剩下的50k可以下次再传嘛,只是记录一下这次传到了哪里就可以了。。。
这就是传说中的断点续传嘛
呵呵
[/Quote]
就是这样
面包大师
2012-01-05
打赏
举报
回复
只知有心跳。。。
smwhotjay
2012-01-05
打赏
举报
回复
1.其实不仅可以心跳. 心跳只是下策. select之.解决
2.接收时顺序乱. tcp是不可能的.除非你发送出错了.或中间网络层或其他层转发出现问题.
sharptiger123
2011-12-31
打赏
举报
回复
写个配置文件分块断点续传
jsyren
2011-12-29
打赏
举报
回复
1,心跳包
2,如果用tcp,顺序不是你的程序来考虑的问题。
3,如果是传了50k,剩下的50k可以下次再传嘛,只是记录一下这次传到了哪里就可以了。。。
这就是传说中的断点续传嘛
呵呵
xqlu2007
2011-12-27
打赏
举报
回复
3.后面的50K发不了,说明前面的50K发出去没收到应答,即前面的都还没发成功,所以只能等,等的结果是超时或等了一段时间后等到了应答,前者全部重发,后者正常发.
Eleven
2011-12-27
打赏
举报
回复
如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办?
------------------------
问题没有描述清楚,然后不能发送了?为什么不能发送,网络问题?还是send失败?还是系统缓冲区满~
Eleven
2011-12-27
打赏
举报
回复
如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办?
------------------------
问题没有描述清楚,然后不能发送了?为什么不能发送,网络问题?还是send失败?还是系统缓冲区满~
Eleven
2011-12-27
打赏
举报
回复
如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办?
------------------------
问题没有描述清楚,然后不能发送了?为什么不能发送,网络问题?还是send失败?还是系统缓冲区满~
oyljerry
2011-12-27
打赏
举报
回复
3.要么就是下次有机会重发,要么就是放弃这次发送
langyano1
2011-12-27
打赏
举报
回复
TOP
jxingcn
2011-12-27
打赏
举报
回复
1:可以自己写心跳包检查SOCKET连接是否有效
2:可以利用TCP自身的心跳包机制 SO_KEEPALIVE来判断SOCKET连接是否有效。
3: 如果是TCP,TCP底层会保证数据包按顺序接收。
4:如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办?如果SOCKET出错,那么后面50K就不发了,释放资源,关闭SOCKET。
96掌门师兄
2011-12-27
打赏
举报
回复
[Quote=引用 2 楼 morebread 的回复:]
1、判断socket api返回值并结合GetLastError来确定
2、每个包经过的路由是不同的,会造成到达时间的不同
3、问题看不明白,是问谁怎么办? 应该是直接丢弃吧,还能怎么办?
[/Quote]
3.和socket设置选项有关,如果有数据没发送完,直接丢弃吧。
csx007700
2011-12-26
打赏
举报
回复
1 怎么检测socket是不是断开了?
心跳包..... 肯定的...
2 按顺序发送出去的数据包,在接收时顺序乱了,是什么原因导致的?
发送过程中通过的路径不一样 导致到达时间不同
3 如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办?
不能发送了?不太懂耶... 那....只能丢了?
小麻侬
2011-12-26
打赏
举报
回复
1 心跳包,select机制
2 对于UDP,这种现象很常见,可以加索引,然后接收端设置缓存接收,按索引取
3 难道是要和你讨论类似断点续传
ouyh12345
2011-12-26
打赏
举报
回复
3、改成非阻塞模式,并循环发
chary8088
2011-12-26
打赏
举报
回复
没人了?
chary8088
2011-12-26
打赏
举报
回复
[Quote=引用 2 楼 morebread 的回复:]
1、判断socket api返回值并结合GetLastError来确定
2、每个包经过的路由是不同的,会造成到达时间的不同
3、问题看不明白,是问谁怎么办? 应该是直接丢弃吧,还能怎么办?
[/Quote]
我估计意思是问怎么处理,我也没能真正体会到他问的真正意图
morebread
2011-12-26
打赏
举报
回复
1、判断socket api返回值并结合GetLastError来确定
2、每个包经过的路由是不同的,会造成到达时间的不同
3、问题看不明白,是问谁怎么办? 应该是直接丢弃吧,还能怎么办?
加载更多回复(1)
Java高频
面试题
【课程介绍】很多人面试前都会罗各种
面试题
。这些面试资料数量众多,但内容杂,系统性不强。最重要的是很多知识点如果不结合讲解,有些重点内容理解的难度偏大。如果下一次遇到面试,又要重新搜集资料,很多知识要重新学习,非常麻烦。因此,我们在上千道
面试题
中,梳理了最常见
面试题
对应的经典知识。主要包含:JAVA基础部分、核心编程、Web编程、MyBatis、Spring、SpringMVC、JVM、性能优化、技术之外必问题。每一个知识点都是精选、经典的重现!学完本教程,让你面试路上从容自信!
2021
新鲜出炉
阿里巴巴面试真题,最终入职阿里
正文 这些都是腾讯、字节跳动、美团、阿里等一线互联网公司面试经常会被问到的题目。我把这些知识点根据知识框架进行了分类,方便大家查阅和复习。熟悉资料中的知识点会大大增加通过前两轮技术面试的几率。 由于涉及到的
面试题
较多导致篇幅较长,文末有领取方式! java方面 Java 四种线程池的用法分析 Java有几种文件拷贝方式?哪一种最高效? 使用FileChannel(文件通道)来实现文件快速复制 JVM类加载机制详解JVM类加载过程 JVM类加载机制详解类加载器与双亲委派模型 Java实现线程同步的几种方式
深入交流安卓!
新鲜出炉
的Android面试真题集锦我给你们整理出来了!Android
面试题
及解析
作为一名即将求职的程序员,面对一个可能跟近些年非常不同的 2020年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动? 就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Android程序员的技术功底。 最近搜集了一些基础问题以及阿里、腾讯2020年一些精选的
面试题
,最后还把把技术点梳理成一份大而全的“Android高级工程师”面试xmind(实际上比预期多花了
22年全网题量最大 知识面最广 深度最深的android
面试题
新鲜出炉
大家都知道10月的开始就是国庆的7天小长假,7天说长也不长,说短也不短,但是细算下来,其实国庆结束后,金九银十也迎来了结尾。、玉刚、掘金博主 xiangzhihong、Focusing、simpleeeeee、DevYK、简书博主 huangLearn、腾讯享学课堂、慕课网、极客时间…》包含各个大厂的高频面题及行业最新技术,是由阿里P6的大佬花两月时间整理和完善而出,资料内容全面、结构清晰,非常适合想要求职/跳槽的伙伴!内容概要:内涵字节跳动、小米、oppo、美团、阿里巴巴、腾讯、360、华为、京东等。
新鲜出炉
!2020年上半年阿里,腾讯等一线大厂面试真题整理!
最近和很多粉丝聊了聊最近找工作的情况,发现很多人也是最近都在忙着跳槽换工作,针对这个情况,我把大家所有面试问题都整理了下,也算是给大家开个小灶,帮助你们在面试的时候更有底气,话不多说几百道一线大厂面试真题都给你们准备在了下面。 腾讯PCG看点一面 项目 APK的入口在哪里 Activity的启动模式 列表闪动的问题怎么解决的? ListView使用可以改进的问题,包括布局优化、异步加载资源的闪动问题等等。 Glide LRU算法的思想? 怎么设计一个图片加载工具? 为什么
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章