首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
小明写了一个基于TCP协议的IOS聊天工具,随着用户数的增多
[问答题]
小明写了一个基于TCP协议的IOS聊天工具,随着用户数的增多,聊天过程中是不是出现卡顿,程序失去响应的问题,请帮忙分析小明的程序可能出现了什么问题? 如果你是小明的话,如何设计程序结构,保证网络的延迟问题不会影响用户UI操作。
添加笔记
邀请回答
收藏(16)
分享
纠错
8个回答
添加回答
0
推荐
牛客-007
聊天过程中出现卡顿是因为网络延时造成程序阻塞,进程在等待网络响应时间过长,出现卡顿现象。
改进办法是:采用多线程,负责网络通信的任务交给一个专门的后台线程去处理,从而保证网络的延迟不会造成UI界面的卡顿
编辑于 2015-05-07 14:15:50
回复(0)
9
Lynbert
小明,你就不能好好地,安静地做个美男子吗,学点多线程的东西会死啊
发表于 2015-03-06 10:07:31
回复(1)
3
牛客707046号
原因分析:TCP协议是基于链接的,虽然能保证数据的准确性,但对资源要求较多。出现卡顿可能是由于资源消耗较多造成。
小明在程序内部没有使用异步线程,导致阻塞主线程
解决办法:开启异步线程进行网络请求(或者使用UDP协议)
发表于 2015-05-13 11:21:41
回复(0)
0
Mrswang
异步机制处理网络请求吧,主线程更新UI吧
发表于 2015-06-19 17:58:58
回复(0)
0
pcdesigner
采用的协议TCP会在会话传输时,等待数据报,建议采用UDP协议。
程序采用多线程,服务器模型选择非阻塞的select,epoll。
编辑于 2015-05-08 10:18:23
回复(0)
0
晓龙
UDP
发表于 2015-04-19 21:19:18
回复(0)
0
人亦悄然不见
可以采用多线程,异步非阻塞
发表于 2015-02-10 16:28:52
回复(0)
0
大漠苍鹰
还有可能是小明使用了同步机制,是的在等待网络相应时候发生卡顿。检查代码,将同步改成异步机制,这样在等待响应的过程中不会影响到其他。
编辑于 2015-01-26 11:54:53
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
iOS
上传者:
小牧魔法袋
难度:
8条回答
16收藏
13612浏览
热门推荐
相关试题
1.该校教师最多的是哪一年?( ...
资料分析
言语理解与表达
资料分析
评论
(1)
有同事不完成任务,影响力进度,你怎...
业务综合
评论
(1)
你身边有哪些人还没有使用滴滴,你认...
用户研究
评论
(1)
怎么做一个需求
需求分析
评论
(1)
A/B test场景问题,第一类错...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题