SocketFactoryTest.java revision adc854b798c1cfe3bfd4c27d68d5cee38ca617da
1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @author Boris V. Kuznetsov 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @version $Revision$ 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project*/ 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.api.javax.net; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetClass; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestLevel; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetNew; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.IOException; 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.InetAddress; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.ServerSocket; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.Socket; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.SocketException; 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.UnknownHostException; 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.net.SocketFactory; 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport tests.support.Support_PortManager; 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tests for <code>SocketFactory</code> class methods. 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project@TestTargetClass(SocketFactory.class) 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class SocketFactoryTest extends TestCase { 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests javax.net.SocketFactory#SocketFactory() 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "SocketFactory", 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_Constructor() { 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MySocketFactory sf = new MySocketFactory(); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(sf); 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(sf instanceof SocketFactory); 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception " + e.toString()); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests javax.net.SocketFactory#createSocket() 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.SUFFICIENT, 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "IOException check missed", 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "createSocket", 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void test_createSocket_01() { 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SocketFactory sf = SocketFactory.getDefault(); 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(); 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(s); 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(-1, s.getLocalPort()); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(0, s.getPort()); 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception: " + e); 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MySocketFactory msf = new MySocketFactory(); 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project msf.createSocket(); 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("No expected SocketException"); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SocketException e) { 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e.toString()); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests javax.net.SocketFactory#createSocket(String host, int port) 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "createSocket", 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {String.class, int.class} 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void test_createSocket_02() { 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MySocketFactory sf = new MySocketFactory(); 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int portNumber = Support_PortManager.getNextPort(); 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int sport = startServer("Cons String,I"); 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] invalidPorts = {Integer.MIN_VALUE, -1, 65536, Integer.MAX_VALUE}; 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost().getHostName(), sport); 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(s); 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Failed to create socket", s.getPort() == sport); 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception: " + e); 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket("bla-bla", sport); 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("UnknownHostException wasn't thrown"); 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnknownHostException uhe) { 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e + " was thrown instead of UnknownHostException"); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < invalidPorts.length; i++) { 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost().getHostName(), invalidPorts[i]); 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException wasn't thrown for " + invalidPorts[i]); 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException iae) { 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e + " was thrown instead of IllegalArgumentException for " + invalidPorts[i]); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost().getHostName(), portNumber); 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IOException wasn't thrown"); 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException ioe) { 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SocketFactory f = SocketFactory.getDefault(); 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = f.createSocket("localhost", 8082); 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IOException wasn't thrown ..."); 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests javax.net.SocketFactory#createSocket(InetAddress host, int port) 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "createSocket", 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {InetAddress.class, int.class} 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void test_createSocket_03() { 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MySocketFactory sf = new MySocketFactory(); 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int portNumber = Support_PortManager.getNextPort(); 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int sport = startServer("Cons InetAddress,I"); 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] invalidPorts = {Integer.MIN_VALUE, -1, 65536, Integer.MAX_VALUE}; 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost(), sport); 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(s); 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Failed to create socket", s.getPort() == sport); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception: " + e); 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < invalidPorts.length; i++) { 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost(), invalidPorts[i]); 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException wasn't thrown for " + invalidPorts[i]); 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException iae) { 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e + " was thrown instead of IllegalArgumentException for " + invalidPorts[i]); 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost(), portNumber); 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IOException wasn't thrown"); 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException ioe) { 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SocketFactory f = SocketFactory.getDefault(); 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = f.createSocket(InetAddress.getLocalHost(), 8081); 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IOException wasn't thrown ..."); 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests javax.net.SocketFactory#createSocket(InetAddress address, int port, 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * InetAddress localAddress, int localPort) 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "createSocket", 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {InetAddress.class, int.class, InetAddress.class, int.class} 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void test_createSocket_04() { 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MySocketFactory sf = new MySocketFactory(); 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int portNumber = Support_PortManager.getNextPort(); 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int sport = startServer("Cons InetAddress,I,InetAddress,I"); 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] invalidPorts = {Integer.MIN_VALUE, -1, 65536, Integer.MAX_VALUE}; 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost(), sport, 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InetAddress.getLocalHost(), portNumber); 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(s); 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("1: Failed to create socket", s.getPort() == sport); 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("2: Failed to create socket", s.getLocalPort() == portNumber); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception: " + e); 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < invalidPorts.length; i++) { 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost(), invalidPorts[i], 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InetAddress.getLocalHost(), portNumber); 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException wasn't thrown for " + invalidPorts[i]); 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException iae) { 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e + " was thrown instead of IllegalArgumentException for " + invalidPorts[i]); 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost(), sport, 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InetAddress.getLocalHost(), invalidPorts[i]); 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException wasn't thrown for " + invalidPorts[i]); 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException iae) { 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e + " was thrown instead of IllegalArgumentException for " + invalidPorts[i]); 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost(), sport, 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InetAddress.getLocalHost(), portNumber); 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IOException wasn't thrown"); 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException ioe) { 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SocketFactory f = SocketFactory.getDefault(); 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = f.createSocket(InetAddress.getLocalHost(), 8081, InetAddress.getLocalHost(), 8082); 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IOException wasn't thrown ..."); 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests javax.net.SocketFactory#createSocket(String host, int port, 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * InetAddress localHost, int localPort) 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "createSocket", 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {String.class, int.class, InetAddress.class, int.class} 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void test_createSocket_05() { 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MySocketFactory sf = new MySocketFactory(); 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int portNumber = Support_PortManager.getNextPort(); 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int sport = startServer("Cons String,I,InetAddress,I"); 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] invalidPorts = {Integer.MIN_VALUE, -1, 65536, Integer.MAX_VALUE}; 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost().getHostName(), sport, 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InetAddress.getLocalHost(), portNumber); 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(s); 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("1: Failed to create socket", s.getPort() == sport); 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("2: Failed to create socket", s.getLocalPort() == portNumber); 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception: " + e); 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project portNumber = Support_PortManager.getNextPort(); 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket("bla-bla", sport, InetAddress.getLocalHost(), portNumber); 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("UnknownHostException wasn't thrown"); 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnknownHostException uhe) { 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e + " was thrown instead of UnknownHostException"); 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < invalidPorts.length; i++) { 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project portNumber = Support_PortManager.getNextPort(); 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost().getHostName(), invalidPorts[i], 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InetAddress.getLocalHost(), portNumber); 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException wasn't thrown for " + invalidPorts[i]); 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException iae) { 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e + " was thrown instead of IllegalArgumentException for " + invalidPorts[i]); 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = sf.createSocket(InetAddress.getLocalHost().getHostName(), sport, 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InetAddress.getLocalHost(), invalidPorts[i]); 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException wasn't thrown for " + invalidPorts[i]); 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException iae) { 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(e + " was thrown instead of IllegalArgumentException for " + invalidPorts[i]); 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SocketFactory f = SocketFactory.getDefault(); 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = f.createSocket("localhost", 8081, InetAddress.getLocalHost(), 8082); 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IOException wasn't thrown ..."); 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @tests javax.net.SocketFactory#getDefault() 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getDefault", 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void test_getDefault() { 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SocketFactory sf = SocketFactory.getDefault(); 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s; 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = sf.createSocket("localhost", 8082); 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s.close(); 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = sf.createSocket("localhost", 8081, InetAddress.getLocalHost(), 8082); 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s.close(); 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = sf.createSocket(InetAddress.getLocalHost(), 8081); 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s.close(); 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = sf.createSocket(InetAddress.getLocalHost(), 8081, InetAddress.getLocalHost(), 8082); 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s.close(); 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected int startServer(String name) { 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int portNumber = Support_PortManager.getNextPort(); 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ServerSocket ss = null; 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ss = new ServerSocket(portNumber); 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(name + ": " + e); 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return ss.getLocalPort(); 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectclass MySocketFactory extends SocketFactory { 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public MySocketFactory() { 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(); 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Socket createSocket(String host, int port) throws IOException, UnknownHostException { 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = null; 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = new Socket(host, port); 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (java.net.ConnectException ce) { 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new IOException("error occurs"); 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return s; 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Socket createSocket(String host, int port, InetAddress localHost, int localPort) 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws IOException, UnknownHostException { 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = null; 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = new Socket(host, port, localHost, localPort); 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (java.net.ConnectException ce) { 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new IOException("error occurs"); 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return s; 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Socket createSocket(InetAddress host, int port) throws IOException { 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = null; 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = new Socket(host, port); 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (java.net.ConnectException ce) { 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new IOException("error occurs"); 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return s; 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Socket createSocket(InetAddress address, int port, 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InetAddress localAddress, int localPort) throws IOException { 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Socket s = null; 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = new Socket(address, port, localAddress, localPort); 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (java.net.ConnectException ce) { 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new IOException("error occurs"); 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return s; 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 431