iOS使用socket实现即时通信示例(非第三方库)-创新互联-成都快上网建站

iOS使用socket实现即时通信示例(非第三方库)-创新互联

其实写这个socket一开始我是拒绝的。

皇姑网站建设公司成都创新互联公司,皇姑网站设计制作,有大型网站制作公司丰富经验。已为皇姑上1000家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的皇姑做网站的公司定做!

因为大家学C 语言和linux基础时肯定都有接触,客户端和服务端的通信也都了解过,加上现在很多开放的第三方库都不需要我们来操作底层的通信。

但是!还是想写。底层的东西最好了解下。

效果

iOS 使用 socket 实现即时通信示例(非第三方库)

由于5M的上传限制GIF可能看不清 我再截两张图吧

iOS 使用 socket 实现即时通信示例(非第三方库)

服务器

iOS 使用 socket 实现即时通信示例(非第三方库)

客户端A

iOS 使用 socket 实现即时通信示例(非第三方库)

客户端B

模型图

iOS 使用 socket 实现即时通信示例(非第三方库)

分析

由上图可以了解到服务器和客户端需要做哪些工作

服务器

抽象一点分为:

1.创建线程等待接收客户端的连接

2.接收并解析客户端发来的消息

3.给客户端发送消息

具体一点:

1.创建socket. 绑定端口.开始监听.

2.创建线程.等待接收客户端连接.

3.接收客户端发来的消息

4.解析消息内容

a.设置用户名

b.发送消息给指定客户端

客户端

抽象一点分为:

1.连接服务器

2.给服务器发送消息

3.接收服务器消息

4.解析消息内容

具体一点:

1.创建socket.绑定端口.连接服务器

2.发送消息

a.设置用户名

b.给指定用户发消息:按服务器格式拼接字符串

3.接收消息

a.普通消息

b.用户列表:保存至用户列表

UI方面

服务器:其实不用什么UI放个控件展示下日志就是了

客户端:比较简单,一个俗套聊天室的界面,直接storyboard里拖拖控件设置约束了

DEMO而已别太当真

代码部分

服务器

要使用scoket需要引用这三个头文件

#include 
#include 
#include 

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:iOS使用socket实现即时通信示例(非第三方库)-创新互联
新闻来源:http://kswjz.com/article/dsejco.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流