• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SocketBinding类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: install

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
public static ServiceController<Void> install(ServiceTarget target,
                                              String serviceName,
                                              String socketBindingName,
                                              Collection<String> userDefinedTags) {
    List<String> tags = new ArrayList<>(userDefinedTags);
    tags.add(socketBindingName);

    ServiceName socketBinding = ServiceName.parse("org.wildfly.network.socket-binding." + socketBindingName);
    RegistrationAdvertiser advertiser = new RegistrationAdvertiser(serviceName, tags.toArray(new String[tags.size()]));

    return target.addService(ServiceName.of("swarm", "topology", "register", serviceName, socketBindingName), advertiser)
            .addDependency(CONNECTOR_SERVICE_NAME, TopologyConnector.class, advertiser.getTopologyConnectorInjector())
            .addDependency(socketBinding, SocketBinding.class, advertiser.getSocketBindingInjector())
            .setInitialMode(ServiceController.Mode.PASSIVE)
            .install();
}
 
开发者ID:wildfly-swarm,项目名称:wildfly-swarm,代码行数:17,代码来源:RegistrationAdvertiser.java


示例2: installConnectorServicesForSocketBinding

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
public static void installConnectorServicesForSocketBinding(ServiceTarget serviceTarget,
                                                            final ServiceName endpointName,
                                                            final String connectorName,
                                                            final ServiceName socketBindingName,
                                                            final OptionMap connectorPropertiesOptionMap,
                                                            final ServiceName securityRealm,
                                                            final ServiceName saslAuthenticationFactory,
                                                            final ServiceName sslContext,
                                                            final ServiceName socketBindingManager) {
    final InjectedSocketBindingStreamServerService streamServerService = new InjectedSocketBindingStreamServerService(connectorPropertiesOptionMap);
    final ServiceBuilder<AcceptingChannel<StreamConnection>> serviceBuilder = serviceTarget.addService(serverServiceName(connectorName), streamServerService)
            .addDependency(socketBindingName, SocketBinding.class, streamServerService.getSocketBindingInjector())
            .addDependency(socketBindingManager, SocketBindingManager.class, streamServerService.getSocketBindingManagerInjector());

    installConnectorServices(serviceBuilder, streamServerService, endpointName, securityRealm, saslAuthenticationFactory, sslContext);
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:17,代码来源:RemotingServices.java


示例3: launchServices

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
void launchServices(OperationContext context, String connectorName, ModelNode fullModel) throws OperationFailedException {
    OptionMap optionMap = ConnectorUtils.getFullOptions(context, fullModel);

    final ServiceTarget target = context.getServiceTarget();

    final String socketName = ConnectorResource.SOCKET_BINDING.resolveModelAttribute(context, fullModel).asString();
    final ServiceName socketBindingName = context.getCapabilityServiceName(ConnectorResource.SOCKET_CAPABILITY_NAME, socketName, SocketBinding.class);

    ModelNode securityRealmModel = ConnectorResource.SECURITY_REALM.resolveModelAttribute(context, fullModel);
    final ServiceName securityRealmName = securityRealmModel.isDefined() ? SecurityRealm.ServiceUtil.createServiceName(securityRealmModel.asString()) : null;

    ModelNode saslAuthenticationFactoryModel = ConnectorResource.SASL_AUTHENTICATION_FACTORY.resolveModelAttribute(context, fullModel);
    final ServiceName saslAuthenticationFactoryName = saslAuthenticationFactoryModel.isDefined()
            ? context.getCapabilityServiceName(SASL_AUTHENTICATION_FACTORY_CAPABILITY, saslAuthenticationFactoryModel.asString(), SaslAuthenticationFactory.class)
            : null;

    ModelNode sslContextModel = ConnectorResource.SSL_CONTEXT.resolveModelAttribute(context, fullModel);
    final ServiceName sslContextName = sslContextModel.isDefined()
            ? context.getCapabilityServiceName(SSL_CONTEXT_CAPABILITY, sslContextModel.asString(), SSLContext.class) : null;

    final ServiceName sbmName = context.getCapabilityServiceName(SOCKET_BINDING_MANAGER_CAPABILTIY, SocketBindingManager.class);

    RemotingServices.installConnectorServicesForSocketBinding(target, RemotingServices.SUBSYSTEM_ENDPOINT, connectorName,
            socketBindingName, optionMap, securityRealmName, saslAuthenticationFactoryName, sslContextName, sbmName);
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:26,代码来源:ConnectorAdd.java


示例4: applyUpdateToRuntime

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
protected boolean applyUpdateToRuntime(final OperationContext context, final ModelNode operation, final String attributeName, final ModelNode resolvedValue,
                                       final ModelNode currentValue, final HandbackHolder<RollbackInfo> handbackHolder) throws OperationFailedException {

    final PathAddress address = PathAddress.pathAddress(operation.get(OP_ADDR));
    final PathElement element = address.getLastElement();
    final String bindingName = element.getValue();
    final ModelNode bindingModel = context.readResource(PathAddress.EMPTY_ADDRESS).getModel();
    final ServiceName serviceName = SOCKET_BINDING_CAPABILITY.getCapabilityServiceName(bindingName, SocketBinding.class);
    final ServiceController<?> controller = context.getServiceRegistry(true).getRequiredService(serviceName);
    final SocketBinding binding = controller.getState() == ServiceController.State.UP ? SocketBinding.class.cast(controller.getValue()) : null;
    final boolean bound = binding != null && binding.isBound();
    if (binding == null) {
        // existing is not started, so can't update it. Instead reinstall the service
        handleBindingReinstall(context, bindingName, bindingModel, serviceName);
    } else if (bound) {
        // Cannot edit bound sockets
        return true;
    } else {
        handleRuntimeChange(context, operation, attributeName, resolvedValue, binding);
    }
    handbackHolder.setHandback(new RollbackInfo(bindingName, bindingModel, binding));
    return requiresRestart();
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:25,代码来源:AbstractBindingWriteHandler.java


示例5: installBindingService

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
static void installBindingService(OperationContext context, ModelNode config, String name)
        throws UnknownHostException, OperationFailedException {
    final CapabilityServiceTarget serviceTarget = context.getCapabilityServiceTarget();

    final ModelNode intfNode = AbstractSocketBindingResourceDefinition.INTERFACE.resolveModelAttribute(context, config);
    final String intf = intfNode.isDefined() ? intfNode.asString() : null;
    final int port = AbstractSocketBindingResourceDefinition.PORT.resolveModelAttribute(context, config).asInt();
    final boolean fixedPort = AbstractSocketBindingResourceDefinition.FIXED_PORT.resolveModelAttribute(context, config).asBoolean();
    final ModelNode mcastNode = AbstractSocketBindingResourceDefinition.MULTICAST_ADDRESS.resolveModelAttribute(context, config);
    final String mcastAddr = mcastNode.isDefined() ? mcastNode.asString() : null;
    final int mcastPort = AbstractSocketBindingResourceDefinition.MULTICAST_PORT.resolveModelAttribute(context, config).asInt(0);
    final InetAddress mcastInet = mcastAddr == null ? null : InetAddress.getByName(mcastAddr);
    final ModelNode mappingsNode = config.get(CLIENT_MAPPINGS);
    final List<ClientMapping> clientMappings = mappingsNode.isDefined() ? parseClientMappings(context, mappingsNode) : null;

    final SocketBindingService service = new SocketBindingService(name, port, fixedPort, mcastInet, mcastPort, clientMappings);
    final CapabilityServiceBuilder<SocketBinding> builder = serviceTarget.addCapability(SOCKET_BINDING_CAPABILITY, service);
    if (intf != null) {
        builder.addCapabilityRequirement("org.wildfly.network.interface", NetworkInterfaceBinding.class, service.getInterfaceBinding(), intf);
    }
    builder.addCapabilityRequirement("org.wildfly.management.socket-binding-manager", SocketBindingManager.class, service.getSocketBindings())
            .addAliases(SocketBinding.JBOSS_BINDING_NAME.append(name))
            .setInitialMode(Mode.ON_DEMAND)
            .install();
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:26,代码来源:BindingAddHandler.java


示例6: validateEndpointPort

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
private void validateEndpointPort(URI httpURI) {
    // Camel HTTP endpoint port defaults are 0 or -1
    boolean portMatched = httpURI.getPort() == 0 || httpURI.getPort() == -1;

    // If a port was specified, verify that undertow has a listener configured for it
    if (!portMatched) {
        for (UndertowListener listener : defaultHost.getServer().getListeners()) {
            SocketBinding binding = listener.getSocketBinding();
            if (binding != null) {
                if (binding.getPort() == httpURI.getPort()) {
                    portMatched = true;
                    break;
                }
            }
        }
    }

    if (!"localhost".equals(httpURI.getHost())) {
        LOGGER.debug("Cannot bind to host other than 'localhost': {}", httpURI);
    }
    if (!portMatched) {
        LOGGER.debug("Cannot bind to specific port: {}", httpURI);
    }
}
 
开发者ID:wildfly-extras,项目名称:wildfly-camel,代码行数:25,代码来源:CamelUndertowHostService.java


示例7: installAdvertiser

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
private void installAdvertiser(ServiceTarget target, String serviceName, String socketBindingName) {
    ServiceName socketBinding = ServiceName.parse("org.wildfly.network.socket-binding." + socketBindingName);
    RegistrationAdvertiser advertiser = new RegistrationAdvertiser(serviceName, socketBindingName);

    target.addService(ServiceName.of("swarm", "topology", "register", serviceName, socketBindingName), advertiser)
            .addDependency(TopologyConnector.SERVICE_NAME, TopologyConnector.class, advertiser.getTopologyConnectorInjector())
            .addDependency(socketBinding, SocketBinding.class, advertiser.getSocketBindingInjector())
            .setInitialMode(ServiceController.Mode.PASSIVE)
            .install();
}
 
开发者ID:wildfly-swarm-archive,项目名称:wildfly-swarm-topology,代码行数:11,代码来源:RegistrationAdvertiserActivator.java


示例8: unadvertise

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
public synchronized void unadvertise(String appName, SocketBinding binding) {
    Registration registration = this.registrations.remove(appName + ":" + binding.getName());
    if (registration != null) {
        try {
            this.dispatcher.submitOnCluster(new UnadvertiseCommand(registration));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 
开发者ID:wildfly-swarm-archive,项目名称:wildfly-swarm-topology-jgroups,代码行数:11,代码来源:JGroupsTopologyConnector.java


示例9: testPorts

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void testPorts() throws Exception {
    ServiceController<SocketBinding> statusManagerService = (ServiceController<SocketBinding>) registry.getService(ServiceName.parse("org.wildfly.network.socket-binding.txn-status-manager"));
    SocketBinding statusManager = statusManagerService.getValue();
    assertEquals(9876, statusManager.getAbsolutePort());

    ServiceController<SocketBinding> recoveryService = (ServiceController<SocketBinding>) registry.getService(ServiceName.parse("org.wildfly.network.socket-binding.txn-recovery-environment"));
    SocketBinding recovery = recoveryService.getValue();
    assertEquals(4567, recovery.getAbsolutePort());

}
 
开发者ID:wildfly-swarm,项目名称:wildfly-swarm,代码行数:13,代码来源:TransactionsArquillianTest.java


示例10: installAdvertiser

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
private void installAdvertiser(ServiceTarget target, String serviceName, String socketBindingName) {
    ServiceName socketBinding = ServiceName.parse("org.wildfly.network.socket-binding." + socketBindingName );
    RegistrationAdvertiser advertiser = new RegistrationAdvertiser( serviceName, socketBindingName );

    target.addService(ServiceName.of("swarm", "topology", "register", serviceName, socketBindingName), advertiser)
            .addDependency(TopologyConnector.SERVICE_NAME, TopologyConnector.class, advertiser.getTopologyConnectorInjector())
            .addDependency( socketBinding, SocketBinding.class, advertiser.getSocketBindingInjector() )
            .setInitialMode(ServiceController.Mode.PASSIVE)
            .install();
}
 
开发者ID:wildfly-swarm-archive,项目名称:ARCHIVE-wildfly-swarm,代码行数:11,代码来源:RegistrationAdvertiserActivator.java


示例11: start

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
public void start(StartContext context) throws StartException {
    for (String key : _socketBindings.keySet()) {
        SocketBinding binding = _socketBindings.get(key).getValue();
        SocketAddr addr = new SocketAddr(binding.getAddress().getHostAddress(), binding.getPort());
        LOG.trace("Injecting socket binding '" + addr + "'");
        _injectedValues.put(key, addr.toString());
    }
}
 
开发者ID:jboss-switchyard,项目名称:switchyard,代码行数:10,代码来源:SwitchYardInjectorService.java


示例12: getSocketBinding

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
/**
 * Injection point for SocketBindings.
 * 
 * @param name the name of the SocketBinding
 * @return the SocketBinding
 */
public InjectedValue<SocketBinding> getSocketBinding(String name) {
    InjectedValue<SocketBinding> binding = _socketBindings.get(name);
    if (binding == null) {
        binding = new InjectedValue<SocketBinding>();
        _socketBindings.put(name, binding);
    }
    return binding;
}
 
开发者ID:jboss-switchyard,项目名称:switchyard,代码行数:15,代码来源:SwitchYardInjectorService.java


示例13: getAddress

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
/**
 * Return the address.
 * 
 * @return An address string
 */
public String getAddress() {
    String schema = "http";
    String hostAddress = "127.0.0.1";
    int port = 8080;

    ListenerService listener = ServerUtil.getDefaultListener();
    if (listener != null) {
        if (listener instanceof HttpsListenerService) {
            schema = "https";
        } else if (listener instanceof HttpListenerService) {
            schema = "http";
        } else {
            ExtensionLogger.ROOT_LOGGER.defaultListenerIsNotHttpListener(listener.getClass().getName());
            schema = "http";
        }

        InjectedValue<SocketBinding> inject = listener.getBinding();
        if (inject != null) {
            SocketBinding binding = inject.getValue();
            InetAddress address = binding.getAddress();
            hostAddress = address.getHostAddress();
            port = binding.getAbsolutePort();
        }else {
            Set<String> aliases = ServerUtil.getDefaultHostAliases();
            if (aliases != null && !aliases.isEmpty()) {
                hostAddress = aliases.iterator().next();
            }
            ExtensionLogger.ROOT_LOGGER.noSocketBindingDefinitionFound(hostAddress, Integer.toString(port));
        }
    } else {
        ExtensionLogger.ROOT_LOGGER.noDefaultListenerDefined(schema, hostAddress, Integer.toString(port));
    }

    return schema + "://" + hostAddress + ":" + port + "/" + _contextName;
}
 
开发者ID:jboss-switchyard,项目名称:switchyard,代码行数:41,代码来源:RemoteEndpointListener.java


示例14: performRuntime

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
protected void performRuntime(OperationContext context, ModelNode operation, Resource resource)
        throws OperationFailedException {
    boolean hasSocketBinding = resource.getModel().hasDefined(SOCKET_BINDING.getName());
    TestService service = new TestService(hasSocketBinding);
    ServiceBuilder<TestService> serviceBuilder = context.getServiceTarget().addService(createServiceName(context.getCurrentAddress()), service);
    if (hasSocketBinding) {
        final String socketName = SOCKET_BINDING.resolveModelAttribute(context, resource.getModel()).asString();
        final ServiceName socketBindingName = context.getCapabilityServiceName(RootResourceDefinition.SOCKET_CAPABILITY_NAME, socketName, SocketBinding.class);
        serviceBuilder.addDependency(socketBindingName, SocketBinding.class, service.socketBindingInjector);
    }
    serviceBuilder.install();
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:14,代码来源:TestHostCapableExtension.java


示例15: start

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
public void start(StartContext context) throws StartException {
    if (hasSocketBinding) {
        SocketBinding binding = socketBindingInjector.getValue();
        try {
            serverSocket = binding.createServerSocket();
        } catch (IOException e) {
            throw new StartException(e);
        }
    }
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:12,代码来源:TestHostCapableExtension.java


示例16: addExtraServices

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
protected void addExtraServices(final ServiceTarget target) {
    ManagementRemotingServices.installRemotingManagementEndpoint(target, ManagementRemotingServices.MANAGEMENT_ENDPOINT, "localhost", EndpointService.EndpointType.MANAGEMENT);
    ServiceName tmpDirPath = ServiceName.JBOSS.append("server", "path", "jboss.controller.temp.dir");

    RemotingServices.installConnectorServicesForSocketBinding(target, ManagementRemotingServices.MANAGEMENT_ENDPOINT,
            "server", SocketBinding.JBOSS_BINDING_NAME.append("server"), OptionMap.EMPTY,
            null, null, null, ServiceName.parse("org.wildfly.management.socket-binding-manager"));
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:10,代码来源:ModelControllerMBeanTestCase.java


示例17: addExtraServices

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
protected void addExtraServices(final ServiceTarget target) {
    ManagementRemotingServices.installRemotingManagementEndpoint(target, ManagementRemotingServices.MANAGEMENT_ENDPOINT, "localhost", EndpointService.EndpointType.MANAGEMENT);

    RemotingServices.installConnectorServicesForSocketBinding(target, ManagementRemotingServices.MANAGEMENT_ENDPOINT,
            "remote", SocketBinding.JBOSS_BINDING_NAME.append("remote"), OptionMap.EMPTY,
            null, null, null, ServiceName.parse("org.wildfly.management.socket-binding-manager"));
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:9,代码来源:JMXSubsystemTestCase.java


示例18: installServices

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
protected List<ServiceName> installServices(OperationContext context, NativeInterfaceCommonPolicy commonPolicy, ModelNode model)
        throws OperationFailedException {
    final ServiceTarget serviceTarget = context.getServiceTarget();

    final ServiceName endpointName = ManagementRemotingServices.MANAGEMENT_ENDPOINT;
    final String hostName = WildFlySecurityManager.getPropertyPrivileged(ServerEnvironment.NODE_NAME, null);

    NativeManagementServices.installManagementWorkerService(serviceTarget, context.getServiceRegistry(false));
    NativeManagementServices.installRemotingServicesIfNotInstalled(serviceTarget, hostName, context.getServiceRegistry(false));

    final String bindingName = SOCKET_BINDING.resolveModelAttribute(context, model).asString();
    ServiceName socketBindingServiceName = context.getCapabilityServiceName(SOCKET_BINDING_CAPABILITY_NAME, bindingName, SocketBinding.class);

    String securityRealm = commonPolicy.getSecurityRealm();
    String saslAuthenticationFactory = commonPolicy.getSaslAuthenticationFactory();
    if (saslAuthenticationFactory == null && securityRealm == null) {
        ServerLogger.ROOT_LOGGER.nativeManagementInterfaceIsUnsecured();
    }

    ServiceName securityRealmName = securityRealm != null ? SecurityRealm.ServiceUtil.createServiceName(securityRealm) : null;
    ServiceName saslAuthenticationFactoryName = saslAuthenticationFactory != null ? context.getCapabilityServiceName(
            SASL_AUTHENTICATION_FACTORY_CAPABILITY, saslAuthenticationFactory, SaslAuthenticationFactory.class) : null;
    String sslContext = commonPolicy.getSSLContext();
    ServiceName sslContextName = sslContext != null ? context.getCapabilityServiceName(SSL_CONTEXT_CAPABILITY, sslContext, SSLContext.class) : null;

    final ServiceName sbmName = context.getCapabilityServiceName("org.wildfly.management.socket-binding-manager", SocketBindingManager.class);

    ManagementRemotingServices.installConnectorServicesForSocketBinding(serviceTarget, endpointName,
                ManagementRemotingServices.MANAGEMENT_CONNECTOR,
                socketBindingServiceName, commonPolicy.getConnectorOptions(),
                securityRealmName, saslAuthenticationFactoryName, sslContextName, sbmName);
    return Arrays.asList(REMOTING_BASE.append("server", MANAGEMENT_CONNECTOR), socketBindingServiceName);
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:35,代码来源:NativeManagementAddHandler.java


示例19: getHttpNetworkInterfaceBinding

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
public NetworkInterfaceBinding getHttpNetworkInterfaceBinding() {
    NetworkInterfaceBinding binding = interfaceBindingValue.getOptionalValue();
    if (binding == null) {
        SocketBinding socketBinding = injectedSocketBindingValue.getOptionalValue();
        if (socketBinding != null) {
            binding = socketBinding.getNetworkInterfaceBinding();
        }
    }
    return binding;
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:12,代码来源:UndertowHttpManagementService.java


示例20: getHttpsNetworkInterfaceBinding

import org.jboss.as.network.SocketBinding; //导入依赖的package包/类
@Override
public NetworkInterfaceBinding getHttpsNetworkInterfaceBinding() {
    NetworkInterfaceBinding binding = interfaceBindingValue.getOptionalValue();
    if (binding == null) {
        SocketBinding socketBinding = injectedSecureSocketBindingValue.getOptionalValue();
        if (socketBinding != null) {
            binding = socketBinding.getNetworkInterfaceBinding();
        }
    }
    return binding;
}
 
开发者ID:wildfly,项目名称:wildfly-core,代码行数:12,代码来源:UndertowHttpManagementService.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java UnauthorizedException类代码示例发布时间:2022-05-22
下一篇:
Java TrustStoreLoader类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap