Java tutorial
/* * Copyright Tek Counsel LLC 2013 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.tc.simple.apn.quicktests; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import javax.net.ssl.KeyManagerFactory; import org.apache.commons.io.IOUtils; import com.tc.simple.apn.Payload; import com.tc.simple.apn.factories.APNSocketPool; import com.tc.simple.apn.factories.IAPNSocketPool; import com.tc.simple.apn.factories.PayloadFactory; import com.tc.simple.apn.factories.PushByteFactory; import com.tc.simple.apn.factories.SocketWrapper; public class Test2 { /** * @param args * @throws IOException */ public static void main(String[] args) { try { System.out.println(KeyManagerFactory.getDefaultAlgorithm()); String token = "8cebc7c08f79fa62f0994eb4298387ff930857ff8d14a50de431559cf476b223"; InputStream in = Test2.class.getResourceAsStream("webshell-dev.p12"); byte[] p12 = IOUtils.toByteArray(in); Map<String, Object> custom = new HashMap<String, Object>(); //custom.put("scriptfunction", "afterPushNotice"); //custom.put("customdata", "hi there"); //custom.put("url","http://google.com"); for (int i = 0; i < 2; i++) { Payload payload = new PayloadFactory().buildPayload(token, "Hi There " + i, 0, null, custom); //String payload="{\"aps\":{\"alert\":\"yabadabadooo" + i + "\"}}"; //String payload = "{\"aps\":{\"alert\":\"Hi There" + i + "\"}}"; send(p12, payload.getToken(), i * 100, payload.getJson()); } } catch (Exception e) { e.printStackTrace(); } } public static void send(byte[] p12, String token, int id, String json) { IAPNSocketPool factory = new APNSocketPool(); SocketWrapper socket = null; try { socket = factory.checkOut(p12, "xxxxxxxxx", false); Payload payload = new Payload(); payload.setJson(json); payload.setToken(token); byte[] message = new PushByteFactory().buildPushBytes(id, payload); socket.write(message); InputStream response = socket.getSocket().getInputStream(); int errorCode = response.read(); if (errorCode > 0) { new APNSocketPool().killSocket(socket); } else { } } catch (java.net.SocketTimeoutException n) { } catch (Exception n) { n.printStackTrace(); } finally { factory.checkIn(socket); } } }