首页 > ios客户端应用如何与服务器构建ssl链接

ios客户端应用如何与服务器构建ssl链接

大家好,我是一个刚开始接触ios开发的新手,目前在做一个C/S架构的iPhone应用,要求采用socket与服务器通信。目前,服务器部分我们组已经有人用java编好了,出于通信安全的考虑,我们为其配置了自定义的ssl证书,现在主要的任务是将iPhone客户端的App做出来,并能够与服务器进行ssl链接。但在这里我遇到了两个问题。
1、我不知道开发时如何在xcode中给工程配置ssl证书,它的详细过程是怎样的?配置好后如何与服务器进行ssl链接
2、由于我们的通信协议是自定义的,所以想知道如何自定义与服务器通信的数据格式,采用怎样一种方式把它发送给服务器
由于对ios开发了解不多,问题可能说的不太明白,希望各位大牛们可以给点指导和建议


  1. 服务器端都已经做出来了为何还不知道与服务器通信的数据格式?
  2. 基于TCP/UDP自定义协议可以考虑使用 GCDAsyncSocket, 它对TCP/UDP交互做了很好的封装。
  3. 为何不使用HTTP/HTTPS? (如果是的话可以考虑 AFNetworking)

你好,解决了吗?我遇到了同样的问题


你好,非常感谢你得回答,对于这个问题我想补充以下两点,还希望知道的人可以指导一下
1、项目规定只能采用socket编程,我选用了AsyncSocket框架;为了通信安全,还要求要加入ssl链接,但这在安卓客户端上实现ssl socket链接比较容易,网上资料也多,但在ios上实现比较困难,主要是缺少这方面的资料
2、数据格式我知道,但是在ios的socket编程中,将自定义的数据包头部放入NSData转为字节流时出现了问题,主要也是两个,1、是大端,小端的问题,我的MAC系统上是采用大端存放和转为二进制,而服务器却是小端进行解析的(服务器开始是按照安卓客户端设计的,与安卓客户端进行通信时解析正常),所以服务器解析出来的数据与我发送的数据相差太大。2、我的自定义数据包头部规定的操作较多,如数据包类型、操作类型、数据包长度等,我将他们以byte,long long 或double的数据类型全部存放到一个结构体当中,然后再将这个结构体写入NSData,转为字节流发送给服务器,但在转换时发现转换后的字节长度与定义的字节长度和不同,也就是说在byte(也就是unsigned char)和double类型之间会多加入一个空字节,导致最后的长度比预定增加了,服务器解析不了。

【热门文章】
【热门文章】