我的客户端 - 服务器应用程序在客户端和服务器端都与Apache MINA一起使用.通过UDP发送数据工作正常,但在一分钟服务器关闭连接(或MINA的方式 - "会话")后停止应答.
奇怪的是,连接始终处于活动状态.客户端每1000ms发送一次数据,服务器使用相同的数据回复它.我发现了一个MINA的机制来销毁非活动会话ExpiringMap,它有一个会话的生存时间的默认值,public static final int DEFAULT_TIME_TO_LIVE = 60;但我还没有找到一种方法如何更改它或更好,更新会话的生存时间.
Imho生存时间应该自动更新每个传入的数据包,但我找不到为什么不是我的服务器做的事情.我是否应该明确表示我不希望它破坏会话或什么?
我的代码与MINA的教程非常相似:
服务器
IoAcceptor acceptor = new NioDatagramAcceptor();
try {
acceptor.setHandler( new UDPHandler() );
acceptor.bind( new InetSocketAddress(RelayConfig.getInstance().getUdpPort()) );
acceptor.getSessionConfig().setReadBufferSize( 2048 );
acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, IDLE_PERIOD );
System.out.println("RELAY ["+RelayConfig.getInstance().getId()+"]: initialized!");
} catch (IOException e) {
System.out.println("RELAY ["+RelayConfig.getInstance().getId()+"]: failed: "+e.getLocalizedMessage());
//e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
客户
NioDatagramConnector connector = new NioDatagramConnector();
connector.getSessionConfig().setUseReadOperation(true);
handler = new UDPHandler();
connector.setHandler(handler);
connector.getSessionConfig().setReadBufferSize(2048);
// try to connect to server!
try {
System.out.println("Connecting to " …Run Code Online (Sandbox Code Playgroud) 如何创建像这样的圆形/椭圆形或圆角相机预览(中间的圆圈应该是相机预览)?

伦敦图像用按钮和视图代表ui的其余部分,因此它必须是整体可见的,这就是为什么我不能使用像这样添加android:background为半径的形状矩形的解决方案:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<stroke android:width="3dip" android:color="#B1BCBE" />
<corners android:radius="50dip"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>
Run Code Online (Sandbox Code Playgroud)
当我尝试将android:background椭圆形xml 设置为SurfaceView时,它也不起作用:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="120dp"
android:height="120dp"/>
<stroke
android:color="#FF000000"
android:width="2dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
如果有可能以某种方式扩展SurfaceView并使用它,我应该重写什么?
我正在尝试为 Fragment 的onCreateView(). 这是我现在的模板:
用完后,R想手动导入。
R默认情况下如何导入应用程序?或者,我可以以某种方式与Groovy脚本拿到项目包名称和它之前写的R一样$PACKAGE_NAME$.R.layout.$LAYOUT_NAME$,使它的工作?
groovy android live-templates android-studio android-studio-2.3
re.findall("(100|[0-9][0-9]|[0-9])%", "89%")
Run Code Online (Sandbox Code Playgroud)
这只返回结果[89],我需要返回整个89%.有什么想法可以吗?
我在Eclipse中有一个全新的Android项目,一个活动有一个简单的textview,黑色背景,没有别的.我没有修改任何东西,除了添加一些权限,以便在互联网上听取一些建议.
当然有一些关于这个问题的线程,但是大多数它们被标记为错误打开跟踪文件的副本:没有这样的文件或目录(2).但该线程中的解决方案是"重新安装所有内容" - 这对我来说不是一个好的答案.我想知道什么是错的,怎么做才能修复它.
请帮助我得到一个答案,我真的明白这里有什么问题.
正如我所说,这是一个新的Eclipse项目,但如果你需要一些代码,请写一个评论.
在此先感谢您的帮助.
编辑:
我的清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yellowjello.sejmipolitika"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<activity
android:name=".Main"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我的java:
package com.yellowjello.sejmipolitika;
import android.app.Activity;
import android.os.Bundle;
public class Main extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public void onBackPressed() {
super.onBackPressed();
this.finish();
System.exit(0);
}
}
Run Code Online (Sandbox Code Playgroud)
我的xml代码:
<FrameLayout …Run Code Online (Sandbox Code Playgroud) 我的Tomcat status code 404上部署的每个应用程序都会在我发出的每个请求中返回 我尝试过几个项目,helloworlds或者骷髅,每个项目的行为与其他项目相同:
我用过的一些项目:
https://github.com/mwarman/skeleton-ws-spring-boot
https://spring.io/guides/gs/rest-service/(我可以运行它,mvn spring-boot:run但它不能部署到Tomcat)
https://github.com/shagstrom/spring-mvc-hibernate-skeleton
我正在使用最新的Tomcat8 (8.0.27),Oracle JDK 8.我也试过Tomcat7了OpenJDK 7.使用的Tomcats在MAC和Debian上运行.我通过mvn和Intellij Idea构建应用程序.
Tomcats很干净,没有更改配置(除了添加manager-gui用户).
由于我尝试了很多不同的项目,我不相信代码中存在问题.它是在Tomcat的配置中吗?我怎样才能让它发挥作用?
编辑:
server.xml代码:
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" …Run Code Online (Sandbox Code Playgroud) 我有一个无法更改或迁移的 SQLite 数据库,需要NUMERIC使用 Room将一列映射到我的 Kotlin 类。我需要使用什么作为 Kotlin 类中字段的数据类型?使用 Boolean、Integer、Double、String 时,它失败并显示类似的错误消息:
Expected:
TableInfo{name='calendars', columns={monday=Column{name='monday', type='REAL', affinity='4', ...}
Found:
TableInfo{name='calendars', columns={monday=Column{name='monday', type='NUMERIC', affinity='
Run Code Online (Sandbox Code Playgroud)
编辑:我想可以更新数据库并更改列类型。但是我还是想知道有没有NUMERIC用Room映射的方法。
我需要合并两个列表L1 = [1,2,3]和L2 = [a,b],如下所示:M = [1,a,2,b,3].我怎么能在PROLOG中做到这一点?
found = re.findall("g+", "fggfggggfggfg", re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
我想使用findall为模式找到最长的匹配项.我找到了一些解决方案,但仅限于re.match或re.finditer.请问有人给我一个建议吗?
我正在从数据库中选择一些数据并将它们编码为json,但我遇到了类似捷克标志的问题
A,I,R,C,Z ...
我的文件是utf-8编码,我的数据库也是utf-8编码,我也设置了头文件到utf-8编码.我还应该做什么?
我的代码:
header('Content-Type: text/html; charset=utf-8');
while($tmprow = mysqli_fetch_array($result)) {
$row['user'] = mb_convert_encoding($tmprow['user'], "UTF-8", "auto");
$row['package'] = mb_convert_encoding($tmprow['package'], "UTF-8", "auto");
$row['url'] = mb_convert_encoding($tmprow['url'], "UTF-8", "auto");
$row['rating'] = mb_convert_encoding($tmprow['rating'], "UTF-8", "auto");
array_push($response, $row);
}
$json = json_encode($response, JSON_UNESCAPED_UNICODE);
if(!$json) {
echo "error";
}
Run Code Online (Sandbox Code Playgroud)
和部分印刷的json: "package":"zv???tkanalouce"
编辑:没有mb_convert_encoding()函数,打印的字符串为空,并打印"错误".