社区
网络编程
帖子详情
面试题,新鲜出炉,socket的,进者有分!
chary8088
2011-12-26 03:15:02
1 怎么检测socket是不是断开了?
2 按顺序发送出去的数据包,在接收时顺序乱了,是什么原因导致的?
3 如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办?
我回答:
1 超时检测,比如发送超时,接收超时
2 如果是tcp,应该是tcp重传造成的,比如第一次发送失败,然后重传造成的
UDP很可能就是前一个包延迟造成的
3 尝试发,好像不对
我不知道我的回答对不对,请大家讨论!
...全文
997
25
打赏
收藏
面试题,新鲜出炉,socket的,进者有分!
1 怎么检测socket是不是断开了? 2 按顺序发送出去的数据包,在接收时顺序乱了,是什么原因导致的? 3 如果发送100K的数据,第一次发送了50K,然后不能发送了,剩下的50K怎么办? 我回答: 1 超时检测,比如发送超时,接收超时 2 如果是tcp,应该是tcp重传造成的,比如第一次发送失败,然后重传造成的 UDP很可能就是前一个包延迟造成的 3 尝试发,好像不对 我不知道我的回答对不对,请大家讨论!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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)
『
新鲜出炉
』2025金九银十338 道Java高频
面试题
+答案解析.zip
『
新鲜出炉
』2025金九银十338 道Java高频
面试题
+答案解析.zip
2021
新鲜出炉
阿里巴巴面试真题,最终入职阿里
正文 这些都是腾讯、字节跳动、美团、阿里等一线互联网公司面试经常会被问到的题目。我把这些知识点根据知识框架进行了分类,方便大家查阅和复习。熟悉资料中的知识点会大大增加通过前两轮技术面试的几率。 由于涉及到的
面试题
较多导致篇幅较长,文末有领取方式! java方面 Java 四种线程池的用法分析 Java有几种文件拷贝方式?哪一种最高效? 使用FileChannel(文件通道)来实现文件快速复制 JVM类加载机制详解JVM类加载过程 JVM类加载机制详解类加载器与双亲委派模型 Java实现线程同步的几种方式
22年全网题量最大 知识面最广 深度最深的android
面试题
新鲜出炉
大家都知道10月的开始就是国庆的7天小长假,7天说长也不长,说短也不短,但是细算下来,其实国庆结束后,金九银十也迎来了结尾。、玉刚、掘金博主 xiangzhihong、Focusing、simpleeeeee、DevYK、简书博主 huangLearn、腾讯享学课堂、慕课网、极客时间…》包含各个大厂的高频面题及行业最新技术,是由阿里P6的大佬花两月时间整理和完善而出,资料内容全面、结构清晰,非常适合想要求职/跳槽的伙伴!内容概要:内涵字节跳动、小米、oppo、美团、阿里巴巴、腾讯、360、华为、京东等。
新鲜出炉
!2020年上半年阿里,腾讯等一线大厂面试真题整理!
最近和很多粉丝聊了聊最近找工作的情况,发现很多人也是最近都在忙着跳槽换工作,针对这个情况,我把大家所有面试问题都整理了下,也算是给大家开个小灶,帮助你们在面试的时候更有底气,话不多说几百道一线大厂面试真题都给你们准备在了下面。 腾讯PCG看点一面 项目 APK的入口在哪里 Activity的启动模式 列表闪动的问题怎么解决的? ListView使用可以改进的问题,包括布局优化、异步加载资源的闪动问题等等。 Glide LRU算法的思想? 怎么设计一个图片加载工具? 为什么
Android开发2年,外包离职后面试十几家中小厂终获offer,Android初级
面试题
汇总出炉!
Android学习PDF+架构视频+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!获取!!(资料价值较高,非无偿)**Android学习PDF+架构视频+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。
网络编程
18,358
社区成员
64,186
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章