前言

  • Socket

    • Socket 是对 TCP/IP 协议的封装,其中IP协议对应为网络层,TCP 协议对应为传输层,而我们常用的HTTP协议,是位于应用层,在七层模型中HTTP协议是基于 TCP/IP 的,我们想要使用 TCP/IP 协议,则要通过 Socket

  • Socket 编程用途(其他待补充)

    • 长连接

    • 端到端的即时通讯

  • Socket 和 Http(来源网络)

    • socket 一般用于比较即时的通信和实时性较高的情况,比如推送,聊天,保持心跳长连接等,http 一般用于实时性要求不那么高的情况,比如信息反馈,图片上传,获取新闻信息等。

二、类似《你猜我画》简易效果说明

  • 效果(分别是模拟器和手机截图)
    移动开发培训,Android培训,安卓培训,手机开发培训,手机维修培训,手机软件培训
    移动开发培训,Android培训,安卓培训,手机开发培训,手机维修培训,手机软件培训

  • 工作中碰到类似需求,但没找到类似的成熟的第三方框架,只有先看看原理性的东西了。其实也就基于 socket 即时传输图片数据、笔画数据,还有聊天文字,也可以拓展做其他的指令控制

  • 没有做注册登录,没有做用户管理,只是简单原理性的探讨

  • 基于 GCDAsyncSocket 框架进行,关于 GCDAsyncSocket 的介绍可自行了解

三、服务端部分代码

  • 直接用 mac 程序作为服务端

    • Server 类

/*!
 @method  开启服务
 @abstract 开启服务器 TCP 连接服务
 */- (void)startServer {    self.serverSocket = [[GCDAsyncSocket alloc]initWithDelegate:self
                                                    delegateQueue:dispatch_get_main_queue()];                &