如果你是iPhone用户,这种情况可能听起来很熟悉:你给某人发了一条消息,看到消息已送达并被阅读,然后看着对话气泡里有三个小点在悬停,满心期待地等着回复。但是你的iPhone是如何知道给你发短信的人正在输入呢?
你可能已经注意到,只有当你通过iMessage发送和接收消息时才会出现这种明显的省略号;也就是说,与另一个iPhone、iPad或iPod Touch用户交换短信时。2011年,苹果公司在iOS 5版本中推出了iMessage[来源:苹果公司]。iPhone消息应用程序内置的iMessage服务看起来就像短信,但更像是一个即时通讯应用程序。当你使用iPhone的消息应用程序向另一个iMessage用户发送文本时,你的手机会识别收件人的苹果ID,并自动通过iMessage服务发送消息[来源:苹果公司]。
与通过移动运营商的蜂窝网络发送的SMS短信不同,iMessage短信是使用一种名为苹果推送通知服务(APNs)的技术通过苹果服务器路由的[来源:苹果公司、迪尔格(Dilger)、iAnswerGuy]。APNs基于可扩展消息与存在协议(XMPP),谷歌Talk和苹果自己的iChat即时通讯服务也使用相同的系统[来源:苹果公司、迪尔格]。XMPP为服务器之间的通信提供了一种方式,允许一个服务器上的用户接收通过不同服务器发布的通知。只要你有网络连接,你的iPhone就会不断与APNs服务器进行检查,看它们是否有新的东西要发送给你,包括短信、FaceTime通话或其他应用程序的警报通知[来源:苹果公司、迪尔格]。因为与你进行短信对话的另一端的iPhone也在与APNs服务器通信,所以服务器能够检测到新的活动,将其与你的苹果ID相关联,并让你知道有短信即将到来。
如果你的WiFi或蜂窝网络不可用,或者如果你与使用不同移动操作系统的人交换消息,你的iPhone将自动从iMessage切换到标准的SMS短信,这样你就不知道是否有人已经阅读或开始回复你的消息了。
参考来源
苹果公司。“iOS 5软件更新v1.0。”2011年10月10日。(2014年8月4日)http://support.apple.com/kb/DL1456
苹果公司。“iOS 7—消息。”(2014年8月4日)https://www.apple.com/ios/messages/
苹果公司。“苹果推送通知服务。”Mac开发者库。(2014年8月4日)https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html
苹果公司。“服务器通知中心开发指南。”2010年1月20日。(2014年8月4日)https://developer.apple.com/library/mac/documentation/Networking/Conceptual/NSServerNotificationCenterProgrammingGuide/NSServerNotificationCenterProgrammingGuide.pdf
考德威尔(Caldwell),塞雷妮蒂(Serenity)。“深入了解iOS 5:iMessage。”《Macworld》。2011年10月12日。(2014年8月4日)http://www.macworld.com/article/1162984/ios_5_imessage.html
西普里亚尼(Cipriani),贾森(Jason)。“如何开始使用iMessage。”2011年9月16日。(2014年8月4日)http://www.cnet.com/how-to/how-to-get-started-with-imessage/
迪尔格(Dilger),丹尼尔·艾琳(Daniel Erin)。“深入了解苹果向非移动客户端开放SMS式消息传递的举措。”《苹果内幕》。2011年6月7日。(2014年8月4日)http://appleinsider.com/articles/11/06/07/inside_apples_move_to_open_up_sms_style_messaging_to_non_mobile_clients.html
iAnswerGuy。“短信和iMessage有什么区别?”(2014年8月4日)http://www.ianswerguy.com/imessage-difference/
iAnswerGuy。“为什么iMessage会被作为SMS消息发送?”(2014年8月4日)http://www.ianswerguy.com/imessage-sent-as-sms-text-message/