当前位置: 首页>>代码示例>>Java>>正文


Java TCPEndpoint类代码示例

本文整理汇总了Java中sun.rmi.transport.tcp.TCPEndpoint的典型用法代码示例。如果您正苦于以下问题:Java TCPEndpoint类的具体用法?Java TCPEndpoint怎么用?Java TCPEndpoint使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


TCPEndpoint类属于sun.rmi.transport.tcp包,在下文中一共展示了TCPEndpoint类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getObject

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
public Registry getObject ( final String command ) throws Exception {

        String host;
        int port;
        int sep = command.indexOf(':');
        if ( sep < 0 ) {
            port = new Random().nextInt(65535);
            host = command;
        }
        else {
            host = command.substring(0, sep);
            port = Integer.valueOf(command.substring(sep + 1));
        }
        ObjID id = new ObjID(new Random().nextInt()); // RMI registry
        TCPEndpoint te = new TCPEndpoint(host, port);
        UnicastRef ref = new UnicastRef(new LiveRef(id, te, false));
        RemoteObjectInvocationHandler obj = new RemoteObjectInvocationHandler(ref);
        Registry proxy = (Registry) Proxy.newProxyInstance(JRMPClient.class.getClassLoader(), new Class[] {
            Registry.class
        }, obj);
        return proxy;
    }
 
开发者ID:hucheat,项目名称:APacheSynapseSimplePOC,代码行数:23,代码来源:JRMPClient.java

示例2: getObject

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
public Registry getObject ( String connection ) throws Exception {

        String host;
        int port;
        int sep = connection.indexOf(':');
        if ( sep < 0 ) {
            port = new Random().nextInt(65535);
            host = connection;
        }
        else {
            host = connection.substring(0, sep);
            port = Integer.valueOf(connection.substring(sep + 1));
        }
        ObjID id = new ObjID(new Random().nextInt()); // RMI registry
        TCPEndpoint te = new TCPEndpoint(host, port);
        UnicastRef ref = new UnicastRef(new LiveRef(id, te, false));
        RemoteObjectInvocationHandler obj = new RemoteObjectInvocationHandler(ref);
        Registry proxy = (Registry) Proxy.newProxyInstance(JRMPClient.class.getClassLoader(), new Class[] {
            Registry.class
        }, obj);
        return proxy;
    }
 
开发者ID:pimps,项目名称:ysoserial-modified,代码行数:23,代码来源:JRMPClient.java

示例3: getRegistryPort

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
/**
 * Returns the port number the RMI {@link Registry} is running on.
 *
 * @param registry the registry to find the port of.
 * @return the port number the registry is using.
 * @throws RuntimeException if there was a problem getting the port number.
 */
public static int getRegistryPort(Registry registry) {
    int port = -1;

    try {
        RemoteRef remoteRef = ((RegistryImpl)registry).getRef();
        LiveRef liveRef = ((UnicastServerRef)remoteRef).getLiveRef();
        Endpoint endpoint = liveRef.getChannel().getEndpoint();
        TCPEndpoint tcpEndpoint = (TCPEndpoint) endpoint;
        port = tcpEndpoint.getPort();
    } catch (Exception ex) {
        throw new RuntimeException("Error getting registry port.", ex);
    }

    return port;
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:23,代码来源:TestLibrary.java

示例4: exceptionReceivedFromServer

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
/**
 * Routine that causes the stack traces of remote exceptions to be
 * filled in with the current stack trace on the client.  Detail
 * exceptions are filled in iteratively.
 */
protected void exceptionReceivedFromServer(Exception ex) throws Exception {
    serverException = ex;

    StackTraceElement[] serverTrace = ex.getStackTrace();
    StackTraceElement[] clientTrace = (new Throwable()).getStackTrace();
    StackTraceElement[] combinedTrace =
        new StackTraceElement[serverTrace.length + clientTrace.length];
    System.arraycopy(serverTrace, 0, combinedTrace, 0,
                     serverTrace.length);
    System.arraycopy(clientTrace, 0, combinedTrace, serverTrace.length,
                     clientTrace.length);
    ex.setStackTrace(combinedTrace);

    /*
     * Log the details of a server exception thrown as a result of a
     * remote method invocation.
     */
    if (UnicastRef.clientCallLog.isLoggable(Log.BRIEF)) {
        /* log call exception returned from server before it is rethrown */
        TCPEndpoint ep = (TCPEndpoint) conn.getChannel().getEndpoint();
        UnicastRef.clientCallLog.log(Log.BRIEF, "outbound call " +
            "received exception: [" + ep.getHost() + ":" +
            ep.getPort() + "] exception: ", ex);
    }

    throw ex;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:33,代码来源:StreamRemoteCall.java

示例5: remoteEquals

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
public boolean remoteEquals(Object obj) {
    if (obj != null && obj instanceof LiveRef) {
        LiveRef ref = (LiveRef) obj;

        TCPEndpoint thisEp = ((TCPEndpoint) ep);
        TCPEndpoint refEp = ((TCPEndpoint) ref.ep);

        RMIClientSocketFactory thisClientFactory =
            thisEp.getClientSocketFactory();
        RMIClientSocketFactory refClientFactory =
            refEp.getClientSocketFactory();

        /**
         * Fix for 4254103: LiveRef.remoteEquals should not fail
         * if one of the objects in the comparison has a null
         * server socket.  Comparison should only consider the
         * following criteria:
         *
         * hosts, ports, client socket factories and object IDs.
         */
        if (thisEp.getPort() != refEp.getPort() ||
            !thisEp.getHost().equals(refEp.getHost()))
        {
            return false;
        }
        if ((thisClientFactory == null) ^ (refClientFactory == null)) {
            return false;
        }
        if ((thisClientFactory != null) &&
            !((thisClientFactory.getClass() ==
               refClientFactory.getClass()) &&
              (thisClientFactory.equals(refClientFactory))))
        {
            return false;
        }
        return (id.equals(ref.id));
    } else {
        return false;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:41,代码来源:LiveRef.java

示例6: read

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
public static LiveRef read(ObjectInput in, boolean useNewFormat)
    throws IOException, ClassNotFoundException
{
    Endpoint ep;
    ObjID id;

    // Now read in the endpoint, id, and result flag
    // (need to choose whether or not to read old JDK1.1 endpoint format)
    if (useNewFormat) {
        ep = TCPEndpoint.read(in);
    } else {
        ep = TCPEndpoint.readHostPortFormat(in);
    }
    id = ObjID.read(in);
    boolean isResultStream = in.readBoolean();

    LiveRef ref = new LiveRef(id, ep, false);

    if (in instanceof ConnectionInputStream) {
        ConnectionInputStream stream = (ConnectionInputStream)in;
        // save ref to send "dirty" call after all args/returns
        // have been unmarshaled.
        stream.saveRef(ref);
        if (isResultStream) {
            // set flag in stream indicating that remote objects were
            // unmarshaled.  A DGC ack should be sent by the transport.
            stream.setAckNeeded();
        }
    } else {
        DGCClient.registerRefs(ep, Arrays.asList(new LiveRef[] { ref }));
    }

    return ref;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:35,代码来源:LiveRef.java

示例7: makeRegistryImpl

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
private static Object makeRegistryImpl ( String codebase, String clazz ) throws IllegalArgumentException, Exception {
    Class<?> regcl = Class.forName("sun.management.jmxremote.SingleEntryRegistry");
    Object reg = Reflections.createWithoutConstructor(regcl);
    Reflections.setFieldValue(reg, "name", "exp");

    TCPEndpoint te = new TCPEndpoint("127.0.0.1", 1337);
    LiveRef liveRef = new LiveRef(new ObjID(), te, true);
    UnicastRef value = new UnicastRef(liveRef);
    Reflections.setFieldValue(reg, "ref", value);
    Reflections.setFieldValue(reg, "object", makeReference(codebase, clazz));
    return reg;
}
 
开发者ID:mbechler,项目名称:marshalsec,代码行数:13,代码来源:JDKUtil.java

示例8: run

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
public void run () {
    try {
        synchronized(this) {
            ep = TCPEndpoint.getLocalEndpoint(0);
        }
    } catch (Exception e) {
        throw new RuntimeException();
    } finally {
        synchronized(this) {
            this.notify();
        }
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:14,代码来源:CheckFQDNClient.java

示例9: getAddress

import sun.rmi.transport.tcp.TCPEndpoint; //导入依赖的package包/类
public static String getAddress(final Service svc)
throws RemoteException {
	final RemoteObjectInvocationHandler h = (RemoteObjectInvocationHandler) getInvocationHandler(svc);
	final LiveRef ref = ((UnicastRef) h.getRef()).getLiveRef();
	final Channel channel = ref.getChannel();
	final TCPEndpoint endpoint = (TCPEndpoint) channel.getEndpoint();
	return endpoint.getHost() + ":" + endpoint.getPort();
}
 
开发者ID:emc-mongoose,项目名称:mongoose-base,代码行数:9,代码来源:ServiceUtil.java


注:本文中的sun.rmi.transport.tcp.TCPEndpoint类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。