org.apache.tomcat.jni.Address Java Examples
The following examples show how to use
org.apache.tomcat.jni.Address.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AprEndpoint.java From Tomcat8-Source-Read with MIT License | 6 votes |
@Override protected void populateRemoteHost() { if (closed) { return; } try { long socket = getSocket().longValue(); long sa = Address.get(Socket.APR_REMOTE, socket); remoteHost = Address.getnameinfo(sa, 0); if (remoteAddr == null) { remoteAddr = Address.getip(sa); } } catch (Exception e) { log.warn(sm.getString("endpoint.warn.noRemoteHost", getSocket()), e); } }
Example #2
Source File: AprEndpoint.java From Tomcat7.0.67 with Apache License 2.0 | 6 votes |
/** * Port in use. */ @Override public int getLocalPort() { long s = serverSock; if (s == 0) { return -1; } else { long sa; try { sa = Address.get(Socket.APR_LOCAL, s); Sockaddr addr = Address.getInfo(sa); return addr.port; } catch (Exception e) { return -1; } } }
Example #3
Source File: AprEndpoint.java From tomcatsrc with Apache License 2.0 | 6 votes |
/** * Port in use. */ @Override public int getLocalPort() { long s = serverSock; if (s == 0) { return -1; } else { long sa; try { sa = Address.get(Socket.APR_LOCAL, s); Sockaddr addr = Address.getInfo(sa); return addr.port; } catch (Exception e) { return -1; } } }
Example #4
Source File: AprSocketWrapperImpl.java From cloudstack with Apache License 2.0 | 6 votes |
/** * Connect this socket wrapper to remote server and start main loop on * AprSocketSource stdout link, to watch for incoming data, and * AprSocketSink stdin link, to pull for outgoing data. */ @Override public void connect(InetSocketAddress address) throws IOException { try { inetAddress = Address.info(address.getHostName(), Socket.APR_UNSPEC, address.getPort(), 0, pool); socket = Socket.create(Address.getInfo(inetAddress).family, Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool); } catch (Exception e) { throw new IOException("[" + this + "] ERROR: Cannot create socket for \"" + address + "\".", e); } int ret = Socket.connect(socket, inetAddress); if (ret != 0) throw new IOException("[" + this + "] ERROR: Cannot connect to remote host \"" + address + "\": " + Error.strerror(ret)); source.setSocket(socket); sink.setSocket(socket); // Start polling for data to send to remote sever runMainLoop(IN, STDIN, true, true); // Push incoming data from server to handlers runMainLoop(OUT, STDOUT, false, false); }
Example #5
Source File: AprEndpoint.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override public InetSocketAddress getLocalAddress() throws IOException { long s = serverSock; if (s == 0) { return null; } else { long sa; try { sa = Address.get(Socket.APR_LOCAL, s); } catch (IOException ioe) { // re-throw throw ioe; } catch (Exception e) { // wrap throw new IOException(e); } Sockaddr addr = Address.getInfo(sa); if (addr.hostname == null) { // any local address if (addr.family == Socket.APR_INET6) { return new InetSocketAddress("::", addr.port); } else { return new InetSocketAddress("0.0.0.0", addr.port); } } return new InetSocketAddress(addr.hostname, addr.port); } }
Example #6
Source File: AprEndpoint.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override protected void populateRemoteAddr() { if (closed) { return; } try { long socket = getSocket().longValue(); long sa = Address.get(Socket.APR_REMOTE, socket); remoteAddr = Address.getip(sa); } catch (Exception e) { log.warn(sm.getString("endpoint.warn.noRemoteAddr", getSocket()), e); } }
Example #7
Source File: AprEndpoint.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override protected void populateRemotePort() { if (closed) { return; } try { long socket = getSocket().longValue(); long sa = Address.get(Socket.APR_REMOTE, socket); Sockaddr addr = Address.getInfo(sa); remotePort = addr.port; } catch (Exception e) { log.warn(sm.getString("endpoint.warn.noRemotePort", getSocket()), e); } }
Example #8
Source File: AprEndpoint.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override protected void populateLocalName() { if (closed) { return; } try { long socket = getSocket().longValue(); long sa = Address.get(Socket.APR_LOCAL, socket); localName =Address.getnameinfo(sa, 0); } catch (Exception e) { log.warn(sm.getString("endpoint.warn.noLocalName"), e); } }
Example #9
Source File: AprEndpoint.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override protected void populateLocalAddr() { if (closed) { return; } try { long socket = getSocket().longValue(); long sa = Address.get(Socket.APR_LOCAL, socket); localAddr = Address.getip(sa); } catch (Exception e) { log.warn(sm.getString("endpoint.warn.noLocalAddr"), e); } }
Example #10
Source File: AprEndpoint.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override protected void populateLocalPort() { if (closed) { return; } try { long socket = getSocket().longValue(); long sa = Address.get(Socket.APR_LOCAL, socket); Sockaddr addr = Address.getInfo(sa); localPort = addr.port; } catch (Exception e) { log.warn(sm.getString("endpoint.warn.noLocalPort"), e); } }
Example #11
Source File: TestXxxEndpoint.java From Tomcat8-Source-Read with MIT License | 4 votes |
private long createAprSocket(int port, long pool) throws Exception { /** * Server socket "pointer". */ long serverSock = 0; String address = InetAddress.getByName("localhost").getHostAddress(); // Create the APR address that will be bound int family = Socket.APR_INET; if (Library.APR_HAVE_IPV6) { if (!OS.IS_BSD && !OS.IS_WIN32 && !OS.IS_WIN64) family = Socket.APR_UNSPEC; } long inetAddress = 0; try { inetAddress = Address.info(address, family, port, 0, pool); // Create the APR server socket serverSock = Socket.create(Address.getInfo(inetAddress).family, Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool); } catch (Exception ex) { log.error("Could not create socket for address '" + address + "'"); return 0; } if (OS.IS_UNIX) { Socket.optSet(serverSock, Socket.APR_SO_REUSEADDR, 1); } // Deal with the firewalls that tend to drop the inactive sockets Socket.optSet(serverSock, Socket.APR_SO_KEEPALIVE, 1); // Bind the server socket int ret = Socket.bind(serverSock, inetAddress); if (ret != 0) { log.error("Could not bind: " + Error.strerror(ret)); throw (new Exception(Error.strerror(ret))); } return serverSock; }
Example #12
Source File: TestXxxEndpoint.java From Tomcat7.0.67 with Apache License 2.0 | 4 votes |
private long createAprSocket(int port, long pool) throws Exception { /** * Server socket "pointer". */ long serverSock = 0; String address = InetAddress.getByName("localhost").getHostAddress(); // Create the APR address that will be bound int family = Socket.APR_INET; if (Library.APR_HAVE_IPV6) { if (!OS.IS_BSD && !OS.IS_WIN32 && !OS.IS_WIN64) family = Socket.APR_UNSPEC; } long inetAddress = 0; try { inetAddress = Address.info(address, family, port, 0, pool); // Create the APR server socket serverSock = Socket.create(Address.getInfo(inetAddress).family, Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool); } catch (Exception ex) { log.error("Could not create socket for address '" + address + "'"); return 0; } if (OS.IS_UNIX) { Socket.optSet(serverSock, Socket.APR_SO_REUSEADDR, 1); } // Deal with the firewalls that tend to drop the inactive sockets Socket.optSet(serverSock, Socket.APR_SO_KEEPALIVE, 1); // Bind the server socket int ret = Socket.bind(serverSock, inetAddress); if (ret != 0) { log.error("Could not bind: " + Error.strerror(ret)); throw (new Exception(Error.strerror(ret))); } return serverSock; }
Example #13
Source File: TestXxxEndpoint.java From tomcatsrc with Apache License 2.0 | 4 votes |
private long createAprSocket(int port, long pool) throws Exception { /** * Server socket "pointer". */ long serverSock = 0; String address = InetAddress.getByName("localhost").getHostAddress(); // Create the APR address that will be bound int family = Socket.APR_INET; if (Library.APR_HAVE_IPV6) { if (!OS.IS_BSD && !OS.IS_WIN32 && !OS.IS_WIN64) family = Socket.APR_UNSPEC; } long inetAddress = 0; try { inetAddress = Address.info(address, family, port, 0, pool); // Create the APR server socket serverSock = Socket.create(Address.getInfo(inetAddress).family, Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool); } catch (Exception ex) { log.error("Could not create socket for address '" + address + "'"); return 0; } if (OS.IS_UNIX) { Socket.optSet(serverSock, Socket.APR_SO_REUSEADDR, 1); } // Deal with the firewalls that tend to drop the inactive sockets Socket.optSet(serverSock, Socket.APR_SO_KEEPALIVE, 1); // Bind the server socket int ret = Socket.bind(serverSock, inetAddress); if (ret != 0) { log.error("Could not bind: " + Error.strerror(ret)); throw (new Exception(Error.strerror(ret))); } return serverSock; }