我使用iPhone应用聊天使用套接字连接与服务器通信.当应用程序移动到后台时,我可以看到服务器能够与应用程序通信大约5分钟.但在此之后,套接字连接被破坏.但是应用程序一移到后台就会停止执行.为什么套接字连接保持5分钟而不是应用程序执行.苹果指定连接将保持的确切时间.
我在 iOS 中有一个即时消息应用程序。我想使用推送通知让用户知道他是否在应用程序最小化时收到了消息。最初我已经实现了应用程序,当应用程序最小化时,应用程序通知我的服务器,服务器又联系 APNS 以通知收到消息。但是应用程序通知服务器有延迟。因此,如果用户最小化应用程序,同时向他发送消息,他将不会收到通知,因为我的服务器仍在向应用程序而不是 APNS 发送消息。
我想知道如何在聊天应用程序中克服这种情况。他们是否将所有聊天消息发送到 APNS,而不管用户是否已最小化应用程序。如果我将所有消息都发送到 APNS,这会是一个好的设计吗?
我试图将linkedList转换为ArrayList,如下所示.
private LinkedList<myData> myLinkedList= new LinkedList<myData>();
public Collection<myData> getData()
{
return new ArrayList<myData>(myLinkedList);
}
Run Code Online (Sandbox Code Playgroud)
LinkedList可能由多个线程更新.在生产中测试时,我得到以下错误.错误不一致.所以我得到它可能是一个星期,一个月左右.
java.lang.ArrayIndexOutOfBoundsException: 15
at java.util.LinkedList.toArray(LinkedList.java:866)
at java.util.ArrayList.<init>(ArrayList.java:131)
at org.xxx.yyy.zzz.getData(Data.java:291)
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以与LinkedList的并发修改有关.感谢任何帮助.