我在Android手机上实现了一个简单的Web服务器。
我使用了nanohttpd的早期版本,这似乎足以达到目的。
Intemittently(大约每5-10个GET请求)套接字连接时间从50ms到3-4秒不间断,并且不经常10秒或更长时间。
服务器没有被打乱。为服务器套接字侦听创建一个新线程,为每个连接请求创建另一个线程。
代码段:
public HTTPSession( Socket s )
{
Log.d(IRobotSensors.TAG,"Opening Socket");
mySocket = s;
Thread t = new Thread( this );
t.setDaemon( true );
t.start();
}
和
printfn "%A"
很难看出这可能会使线程管理器过载,并且根据logcat,似乎没有发生特定的垃圾收集或其他系统活动。
正在投放的网页或图片的大小似乎没有什么区别,我已将问题隔离到连接时间,而不是应用可能正在做AFAICT的其他任何事情。
这似乎是我尝试过的每个Android设备的问题(包括不同品牌的平板电脑和手机,以及不同的O / S版本) 我已经尝试过几个不同的本地wifi网络,以及几个不同的浏览器和http客户端,问题是一致的。
有什么想法吗?