首页 > 试题广场 >

小明写了一个基于TCP协议的IOS聊天工具,随着用户数的增多

[问答题]
小明写了一个基于TCP协议的IOS聊天工具,随着用户数的增多,聊天过程中是不是出现卡顿,程序失去响应的问题,请帮忙分析小明的程序可能出现了什么问题? 如果你是小明的话,如何设计程序结构,保证网络的延迟问题不会影响用户UI操作。
推荐
聊天过程中出现卡顿是因为网络延时造成程序阻塞,进程在等待网络响应时间过长,出现卡顿现象。

改进办法是:采用多线程,负责网络通信的任务交给一个专门的后台线程去处理,从而保证网络的延迟不会造成UI界面的卡顿
编辑于 2015-05-07 14:15:50 回复(0)
小明,你就不能好好地,安静地做个美男子吗,学点多线程的东西会死啊
发表于 2015-03-06 10:07:31 回复(1)
原因分析:TCP协议是基于链接的,虽然能保证数据的准确性,但对资源要求较多。出现卡顿可能是由于资源消耗较多造成。
                    小明在程序内部没有使用异步线程,导致阻塞主线程
解决办法:开启异步线程进行网络请求(或者使用UDP协议)
发表于 2015-05-13 11:21:41 回复(0)
异步机制处理网络请求吧,主线程更新UI吧
发表于 2015-06-19 17:58:58 回复(0)
采用的协议TCP会在会话传输时,等待数据报,建议采用UDP协议。
程序采用多线程,服务器模型选择非阻塞的select,epoll。
编辑于 2015-05-08 10:18:23 回复(0)
UDP
发表于 2015-04-19 21:19:18 回复(0)
可以采用多线程,异步非阻塞
发表于 2015-02-10 16:28:52 回复(0)
还有可能是小明使用了同步机制,是的在等待网络相应时候发生卡顿。检查代码,将同步改成异步机制,这样在等待响应的过程中不会影响到其他。
编辑于 2015-01-26 11:54:53 回复(0)