在iOS应用和服务器之间交换实时数据

时间:2013-01-18 20:15:22

标签: iphone ios tcp ip

如何在iPhone和主机之间实现双向IP / TCP连接。

1 个答案:

答案 0 :(得分:0)

TCP / IP通信是双向通信。

True:服务器必须是监听连接的服务器,客户端必须重新建立连接,以防丢失。

但是在连接期间,客户端可以向服务器发送消息(在需要时),反之亦然。

为了使连接保持活动状态(它可以在非活动状态一段时间后被终止),你可以定期发送一些虚拟(keepalive)字符串:通常是从客户端到服务器,但它可以反过来。

既然你已经知道如何在iOS客户端和服务器之间建立连接(它可以是基于PC的等等),并且你知道如何从客户端向服务器发送字符串 - 你只需要实现服务器到客户端通信。

具体怎么做取决于您在iOS和PC服务器中使用的套接字类型。

可以在这里找到Cesare Rocchi的精彩教程:How To Create A Socket Based iPhone App and Server

还有一个非常有用且记录良好的Cocoa套接字包装器,来自GbieHub上的Robbie Hanson,名为CocoaAsyncSocket

修改

在您的情况下,您通常在一侧至少有一个基于套接字的客户端。客户有责任尝试重新建立连接以防丢失(或首次建立连接)。

另一方面,你有一个监听器套接字 - 一个侦听新连接的套接字。对于每个新连接(来自客户端),它会产生一个新的套接字,从那里你可以处理双向通信。因此,只有在建立连接时才需要客户端>服务器。