小编Era*_*ran的帖子

推送通知的WNS或MPNS?

我正在创建一个应用程序,它不断使用推送通知作为用户之间通信的方式(各种消息).这整个考验似乎让我有点疯狂,所以这里有几个我无法找到答案的问题.

  1. 我发现未经过身份验证的Web服务(没有证书的服务)会被限制为每个订阅每天500次推送通知MPNS.但是,在试图找到限制时,我无法在任何地方找到这样的提及WNS.是否存在这些限制/要求WNS

  2. 充其量,我发送了很多推送通知(即每个活跃用户每秒1-3次).我知道这可能会耗尽最小设备的电池寿命(我的目标通常是Windows 8设备),但轮询服务器以获取更新也是如此.我的方法具有响应速度快的优点,但我不确定推送(原始)通知是否适用于此类通信.还有其他选择吗?基本上我由于移动网络的性质而放弃了持久连接选项(连接可能会丢失)

  3. 这两者之间的实际差异是什么?

也许我对这个术语有点混淆,其他一些消息来源暗示我甚至不能四处走动MPNS,但却不能WNS做到这一点?

我不确定这是否是发布这些问题的正确媒体,但我希望有人能够对此有所了解.

windows throttling push push-notification mpns

8
推荐指数
2
解决办法
7922
查看次数

iterable.forEach()和iterable.stream().forEach()之间的区别

看起来我可以list.forEach(a -> a.stuff())直接在我的收藏中调用,而不是list.stream().forEach(a -> a.stuff()).我何时会使用另一个(parallelStream()旁边......)?

java lambda java-8 java-stream

8
推荐指数
1
解决办法
1934
查看次数

自定义Apple推送通知服务器与城市飞艇和喜爱

我需要为我的一个项目实现推送通知.我评估的一些可能性是:

  • 在服务器上构建我自己的APN发送脚本
  • 使用Urban Airship

你们会推荐哪一个?为什么?

NB.我知道Urban Airship有点费用,但我认为1 mil免费通知对我来说已经足够了.

iphone push-notification apple-push-notifications

7
推荐指数
2
解决办法
1万
查看次数

GCM推送通知导致502 Bad Gateway

我有一个.Net Windows服务,通过https://android.googleapis.com/gcm/send发送GCM推送通知.

该服务定期以10 /秒的速率发送大约10,000封邮件.对于每个批次,5-10个消息将导致"502 Bad Gateway"响应.生成502的消息总是经过第二次尝试.

这是正常的吗?我可以快速发送太多邮件吗?

.net service android push-notification google-cloud-messaging

7
推荐指数
1
解决办法
4413
查看次数

有没有理由继续使用IntentService来处理GCM消息?

如您所知,最近Google更改了他们的GCM文档,他们声称IntentService不再需要处理到达的GCM消息.所有的处理都可以在BroadcastReceiver.

在试图弄清楚是否有任何理由继续使用时IntentService,我发现了这句话:

WakefulBroadcastReceiver将处理GCM消息的工作传递给的服务(通常是IntentService),同时确保设备不会在此过程中重新进入休眠状态.包含IntentService是可选的 - 您可以选择在常规的BroadcastReceiver中处理您的消息,但实际上,大多数应用程序将使用IntentService.

为什么大多数应用会使用IntentService?是否存在直接处理GCM消息的BroadcastReceiver情况不起作用?

android broadcastreceiver push-notification intentservice google-cloud-messaging

7
推荐指数
1
解决办法
1479
查看次数

了解drawLine的工作原理

给出以下代码:

import javax.swing.*;
import java.awt.*;

public class NewClass extends JPanel {
    public void paintComponent(Graphics g) {
        g.drawLine(0, 0, 90, 90);
    }

    public static void main(String[] args) {
        JFrame jf = new JFrame();
        jf.add(new NewClass());
        jf.setSize(500, 500);
        jf.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果方法drawLine是抽象的,为什么它会画一条线?正如我设法理解的那样,抽象方法没有定义?

先感谢您!

java methods graphics abstract

7
推荐指数
1
解决办法
673
查看次数

Linkedlist与arraylist的比较

我知道这LinkedList是作为双链表实现的。在add和remove上,其性能优于Arraylist,但在get和set方法上却较差。

这是否意味着我应该选择LinkedListArraylist插入?

我写了一个小测试,发现ArrayList插入速度更快。那如何链表比ArrayList

请参考下面的示例。

    import java.util.Date;
    import java.util.LinkedList;
    import java.util.List;

    public class TestLinkedList {

        public static void main(String[] args) {

            long lStartTime = new Date().getTime();
            System.out.println("lStartTime:: " + lStartTime);
            List<Integer> integerList = new LinkedList<Integer>();
            for (int i = 0; i < 10000000; i++) {
                integerList.add(i);
            }

            long lEndTime = new Date().getTime();
            System.out.println("lEndTime:: " + lEndTime);

            long difference = lEndTime - lStartTime;

            System.out.println("Elapsed milliseconds: " + difference);

        }

    }
Run Code Online (Sandbox Code Playgroud)

java linked-list list arraylist

7
推荐指数
1
解决办法
391
查看次数

为什么Object在Singleton模式中变为静态?

为什么Object static以Singleton模式制作?
它的实际用途是什么?
如果我们不使对象静态会发生什么?

public class SingleObject {

   //create an object of SingleObject
   private static SingleObject instance = new SingleObject();

   //make the constructor private so that this class cannot be
   //instantiated
   private SingleObject(){}

   //Get the only object available
   public static SingleObject getInstance(){
       return instance;
   }

   public void showMessage(){
       System.out.println("Hello World!");
   }
}
Run Code Online (Sandbox Code Playgroud)

java design-patterns

7
推荐指数
1
解决办法
1419
查看次数

如何从Java 8 Stream过滤中捕获已删除项目的列表?

我使用以下表达式来过滤生日符合条件的人员列表.

List<Person> matchingPeople = people.stream()
.filter(p -> dateFilters.stream()
    .anyMatch(df -> 
       numOfDaysBetween(p.getBirthDate(), df.getDate())  < df.getDiffRange()
    )
)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

Collectors.toList()返回符合条件的人员列表.我想知道如何捕获为调试/记录目的而被删除的人员列表.一种可能的方法是通过另一个过滤器运行列表,但这将是低效的.我们可以在同一个过滤器中进行吗?

java java-8 java-stream

7
推荐指数
1
解决办法
1869
查看次数

两个数组元素之和的总和?

存在这样的问题:给出两个随机整数数组,其中在每个索引处存在从0到9的数字(即,在给定数组的每个索引处存在单个数字整数).我需要找到输入数组所代表的数字之和,并将结果放在另一个数组中.

我相信我的代码一切都很好,因为我为不同的数组执行它几乎50到60次.但是当我在学校的在线评委中提交它时,它只接受了4个测试用例并拒绝了另外两个.我无法弄清楚在哪种情况下会产生错误的输出.需要一些帮助的人.

这是我的代码

public static int[] sumOfTwoArrays(int[] arr1, int[] arr2){
    int size1 = arr1.length;
    int size2 = arr2.length;
    int carry = 0,sum,s,r;
    if(size1 == size2) {
        int arr3[] = new int[size1+1];
        for(int i=arr1.length-1;i>=-1;i--) { 
            if(i==-1) {
                arr3[i+1] = carry;
                //System.out.println(i+1+" "+arr3[i+1]);
            } else {
                sum = arr1[i] + arr2[i];
                if(sum>9) {
                    s =sum;
                    r = s % 10;
                    arr3[i+1] = carry + r;
                    carry = 1;
                    //System.out.println(i+" "+arr3[i]);    
                } else {
                    if(sum==9 && carry==1) {
                        s =sum+carry;
                        r = s …
Run Code Online (Sandbox Code Playgroud)

java arrays

7
推荐指数
1
解决办法
1647
查看次数