小编MSA*_*MSA的帖子

Android端口转发

如何使用来自其他设备的IP从Android设备转发到路由器?

我想从android设备外部连接到路由器公共IP:端口,以便我可以访问连接到路由器的硬件设备.(Android - >外部IP:端口) - >路由器 - >硬件设备(硬件设备有它自己的IP和mac).

在此输入图像描述

码:

    PortMapping mapping = new PortMapping();
    UnsignedIntegerTwoBytes externalPort = new UnsignedIntegerTwoBytes(22555L);
    UnsignedIntegerTwoBytes internalPort = new UnsignedIntegerTwoBytes(80L);

    mapping.setDescription("HardwareDescription");
    mapping.setEnabled(true);
    mapping.setExternalPort(externalPort);
    mapping.setInternalClient("192.168.2.68");
    mapping.setInternalPort(internalPort);
    mapping.setProtocol(PortMapping.Protocol.TCP);
    mapping.setRemoteHost("192.168.2.254");


    mUpnpService = new MyUpnpServiceImpl(new PortMappingListener(mapping));
    mUpnpService.getRouter();
    mUpnpService.getControlPoint().search(SCAN_TIMEOUT);
Run Code Online (Sandbox Code Playgroud)

UpnpServiceImpl:

private class MyUpnpServiceImpl extends UpnpServiceImpl {

    public MyUpnpServiceImpl(RegistryListener... listeners) {
        super(new AndroidUpnpServiceConfiguration(getWifiManager()),
                listeners);
    }

    @Override
    public Router getRouter() {
        return super.getRouter();
    }
    @Override
    protected Router createRouter(ProtocolFactory protocolFactory,
            Registry registry) {
        return new AndroidWifiSwitchableRouter(configuration,
                protocolFactory, getWifiManager(), getConnectivityManager());
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码不会崩溃,但它也不会创建任何端口!

这可能吗?如果答案是肯定的,你能否指出我正确的方向.

java sockets android router

6
推荐指数
2
解决办法
7950
查看次数

Hibernate Criteria order by term length

我想按长度排序我的条款,这相当于:

SELECT term FROM <table_name> where term  like '%now%' order by length(term ) asc;
Run Code Online (Sandbox Code Playgroud)

在休眠状态。

目前这是我的标准代码:

    Criteria criteria = session.createCriteria(myClass.class);
    criteria.setProjection(Projections.distinct(Projections.property("term")));
    criteria.add(Restrictions.ilike("term", "%xyz%"));
    criteria.addOrder(Order.asc("term"));
    criteria.setMaxResults(10);
    List<String> list = criteria.list();
Run Code Online (Sandbox Code Playgroud)

干杯

java mysql hibernate criteria jakarta-ee

5
推荐指数
1
解决办法
1576
查看次数

如何配置SOLR服务器以进行拼写检查功能

我想使用MySql数据库实现Solr提供的拼写检查功能,但我不明白如何.
这是我想要做的基本流程.

我有一个简单的inputText(在JSF中),如果我输入单词shwo,应该显示对OutputLabel的响应.

首先,我使用以下工具和框架:

JBoss应用服务器6.1.
Eclipse
JPA
JSF(Primefaces)

我到目前为止所做的步骤:

步骤1: 从以下网址下载Solr服务器:http://lucene.apache.org/solr/downloads.html 提取内容.

第2步: 添加到Envoierment变量(您有solr服务器的地方):

solr.solr.home=D:\JBOSS\solr-4.4.0\solr-4.4.0\example\solr
Run Code Online (Sandbox Code Playgroud)

第3步:

打开solr war并向solr.war\WEB-INF\web.xml添加env-entry - (简单方法)

<env-entry>
    <env-entry-name>solr/home</env-entry-name>
    <env-entry-value>D:\JBOSS\solr-4.4.0\solr-4.4.0\example\solr</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
</env-entry>
Run Code Online (Sandbox Code Playgroud)

或导入项目变更和战争.

第4步: 浏览器:localhost:8080/solr/ 出现solr控制台.到目前为止一切运作良好.

我发现一些有用的代码(我的意见)返回:

[collection1] webapp =/solr path =/spell params = {spellcheck = on&q = whatever&wt = javabin&qt =/spell&version = 2&spellcheck.build = true} hits = 0 status = 0 QTime = 16

以下是从上面给出结果的代码:

SolrServer solr;
try {
  solr = new CommonsHttpSolrServer("http://localhost:8080/solr");
  ModifiableSolrParams params = …
Run Code Online (Sandbox Code Playgroud)

java lucene configuration solr

2
推荐指数
1
解决办法
1万
查看次数