java.net.ServerSocket#getInetAddress ( )源码实例Demo

下面列出了java.net.ServerSocket#getInetAddress ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: j2objc   文件: ServerSocketTest.java
public void testTimeoutAfterAccept() throws Exception {
    final ServerSocket ss = new ServerSocket(0);
    ss.setReuseAddress(true);
    // On Unix, the receive timeout is inherited by the result of accept(2).
    // Java specifies that it should always be 0 instead.
    ss.setSoTimeout(1234);
    final Socket[] result = new Socket[1];
    Thread t = new Thread(new Runnable() {
        public void run() {
            try {
                result[0] = ss.accept();
            } catch (IOException ex) {
                ex.printStackTrace();
                fail();
            }
        }
    });
    t.start();
    new Socket(ss.getInetAddress(), ss.getLocalPort());
    t.join();
    assertEquals(0, result[0].getSoTimeout());
}
 
源代码2 项目: j2objc   文件: SSLSocketTest.java
public void test_SSLSocket_setSoTimeout_basic() throws Exception {
    ServerSocket listening = new ServerSocket(0);

    Socket underlying = new Socket(listening.getInetAddress(), listening.getLocalPort());
    assertEquals(0, underlying.getSoTimeout());

    SSLSocketFactory sf = (SSLSocketFactory) SSLSocketFactory.getDefault();
    Socket wrapping = sf.createSocket(underlying, null, -1, false);
    assertEquals(0, wrapping.getSoTimeout());

    // setting wrapper sets underlying and ...
    int expectedTimeoutMillis = 1000;  // 10 was too small because it was affected by rounding
    wrapping.setSoTimeout(expectedTimeoutMillis);
    // The kernel can round the requested value based on the HZ setting. We allow up to 10ms.
    assertTrue(Math.abs(expectedTimeoutMillis - wrapping.getSoTimeout()) <= 10);
    assertTrue(Math.abs(expectedTimeoutMillis - underlying.getSoTimeout()) <= 10);

    // ... getting wrapper inspects underlying
    underlying.setSoTimeout(0);
    assertEquals(0, wrapping.getSoTimeout());
    assertEquals(0, underlying.getSoTimeout());
}
 
源代码3 项目: j2objc   文件: SSLSocketTest.java
public void test_SSLSocket_setSoTimeout_wrapper() throws Exception {
    if (StandardNames.IS_RI) {
        // RI cannot handle this case
        return;
    }
    ServerSocket listening = new ServerSocket(0);

    // setSoTimeout applies to read, not connect, so connect first
    Socket underlying = new Socket(listening.getInetAddress(), listening.getLocalPort());
    Socket server = listening.accept();

    SSLSocketFactory sf = (SSLSocketFactory) SSLSocketFactory.getDefault();
    Socket clientWrapping = sf.createSocket(underlying, null, -1, false);

    underlying.setSoTimeout(1);
    try {
        clientWrapping.getInputStream().read();
        fail();
    } catch (SocketTimeoutException expected) {
    }

    clientWrapping.close();
    server.close();
    underlying.close();
    listening.close();
}
 
源代码4 项目: dragonwell8_jdk   文件: EvilInstrument.java
public EvilTransformer() throws Exception {
    scratch = createScratchFile();
    ss = new ServerSocket(0);
    new SocketEcho().start();
    s = new Socket(ss.getInetAddress(), ss.getLocalPort());
    socketEchoReady.await();
    inited = true;
}
 
源代码5 项目: TencentKona-8   文件: EvilInstrument.java
public EvilTransformer() throws Exception {
    scratch = createScratchFile();
    ss = new ServerSocket(0);
    new SocketEcho().start();
    s = new Socket(ss.getInetAddress(), ss.getLocalPort());
    socketEchoReady.await();
    inited = true;
}
 
源代码6 项目: openjdk-jdk8u   文件: EvilInstrument.java
public EvilTransformer() throws Exception {
    scratch = createScratchFile();
    ss = new ServerSocket(0);
    new SocketEcho().start();
    s = new Socket(ss.getInetAddress(), ss.getLocalPort());
    socketEchoReady.await();
    inited = true;
}
 
源代码7 项目: netbeans   文件: ServerTest.java
@Override
protected void setUp() throws Exception {
    super.setUp();
    clearWorkDir();
    ServerSocket srv = new ServerSocket(0, 1, InetAddress.getLoopbackAddress());
    serverThread = new Thread(() -> {
        try {
            Socket server = srv.accept();

            Path tempDir = Files.createTempDirectory("lsp-server");
            File userdir = tempDir.resolve("scratch-user").toFile();
            File cachedir = tempDir.resolve("scratch-cache").toFile();
            System.setProperty("netbeans.user", userdir.getAbsolutePath());
            File varLog = new File(new File(userdir, "var"), "log");
            varLog.mkdirs();
            System.setProperty("jdk.home", System.getProperty("java.home")); //for j2seplatform
            Class<?> main = Class.forName("org.netbeans.core.startup.Main");
            main.getDeclaredMethod("initializeURLFactory").invoke(null);
            new File(cachedir, "index").mkdirs();
            Class jsClass = JavaSource.class;
            File javaCluster = Utilities.toFile(jsClass.getProtectionDomain().getCodeSource().getLocation().toURI()).getParentFile().getParentFile();
            System.setProperty("netbeans.dirs", javaCluster.getAbsolutePath());
            CacheFolderProvider.getCacheFolderForRoot(Places.getUserDirectory().toURI().toURL(), EnumSet.noneOf(CacheFolderProvider.Kind.class), CacheFolderProvider.Mode.EXISTENT);

            Lookup.getDefault().lookup(ModuleInfo.class); //start the module system

            CommandLine.getDefault().process(new String[] {"--start-java-language-server"}, server.getInputStream(), server.getOutputStream(), System.err, getWorkDir());
        } catch (Exception ex) {
            throw new IllegalStateException(ex);
        }
    });
    serverThread.start();
    client = new Socket(srv.getInetAddress(), srv.getLocalPort());
}
 
public InetAddress getInetAddress() {
    final ServerSocket localSocket = this.serverSocket;
    if (localSocket != null) {
        return localSocket.getInetAddress();
    } else {
        return null;
    }
}
 
源代码9 项目: j2objc   文件: SSLSocketTest.java
private void test_SSLSocket_interrupt_case(boolean readUnderlying, boolean closeUnderlying)
        throws Exception {

    ServerSocket listening = new ServerSocket(0);

    Socket underlying = new Socket(listening.getInetAddress(), listening.getLocalPort());
    Socket server = listening.accept();

    SSLSocketFactory sf = (SSLSocketFactory) SSLSocketFactory.getDefault();
    Socket clientWrapping = sf.createSocket(underlying, null, -1, true);

    final Socket toRead = (readUnderlying) ? underlying : clientWrapping;
    final Socket toClose = (closeUnderlying) ? underlying : clientWrapping;

    ExecutorService executor = Executors.newSingleThreadExecutor();
    Future<Void> future = executor.submit(new Callable<Void>() {
        @Override public Void call() throws Exception {
            Thread.sleep(1 * 1000);
            toClose.close();
            return null;
        }
    });
    executor.shutdown();
    try {
        toRead.setSoTimeout(5 * 1000);
        toRead.getInputStream().read();
        fail();
    } catch (SocketTimeoutException e) {
        throw e;
    } catch (SocketException expected) {
    }
    future.get();

    server.close();
    underlying.close();
    listening.close();
}
 
源代码10 项目: open-rmbt   文件: QoSService.java
/**
 * 
 * @param executor
 * @param socket
 */
public QoSService(ExecutorService executor, ServerSocket socket, SSLContext sslContext) {
	this.executor = executor;
	this.socket = socket;
	this.sslContext = sslContext;
	this.name = "[QoSService " +  socket.getInetAddress() + ":" + socket.getLocalPort() +"]: ";
}
 
源代码11 项目: j2ssh-maverick   文件: ProxyServer.java
private void onBind(ProxyMessage msg) throws IOException{
   ProxyMessage response = null;

   if(proxy == null)
     ss = new ServerSocket(0);
   else
     ss = new SocksServerSocket(proxy, msg.ip, msg.port);

   ss.setSoTimeout(acceptTimeout);

   log("Trying accept on "+ss.getInetAddress()+":"+ss.getLocalPort());

   if(msg.version == 5)
      response = new Socks5Message(Proxy.SOCKS_SUCCESS,ss.getInetAddress(),
                                                       ss.getLocalPort());
   else
      response = new Socks4Message(Socks4Message.REPLY_OK,
                                   ss.getInetAddress(),
                                   ss.getLocalPort());
   response.write(out);

   mode = ACCEPT_MODE;

   pipe_thread1 = Thread.currentThread();
   pipe_thread2 = new Thread(this);
   pipe_thread2.start();

   //Make timeout infinit.
   sock.setSoTimeout(0);
   int eof=0;

   try{
     while((eof=in.read())>=0){
       if(mode != ACCEPT_MODE){
         if(mode != PIPE_MODE) return;//Accept failed

         remote_out.write(eof);
         break;
       }
     }
   }catch(EOFException eofe){
     //System.out.println("EOF exception");
     return;//Connection closed while we were trying to accept.
   }catch(InterruptedIOException iioe){ 
     //Accept thread interrupted us.
     //System.out.println("Interrupted");
     if(mode != PIPE_MODE)
       return;//If accept thread was not successfull return.
   }finally{
     //System.out.println("Finnaly!");
   }

   if(eof < 0)//Connection closed while we were trying to accept;
     return;
   
   //Do not restore timeout, instead timeout is set on the
   //remote socket. It does not make any difference.

   pipe(in,remote_out);
}