我正在开发适用于android应用程序的多线程Web服务器,并且在使用外部.css文件和.js文件的页面上遇到了一些问题,但只与Google Chrome浏览器有关!使用Firefox和Opera时,页面呈现良好,Google Chrome有时会加载.css,有时会加载.js,有时甚至都不加载。适用于Android的多线程Web服务器
这是我的应用程序的结构:
WebServer.java
class WebServer implements Runnable{
protected boolean ON;
public void start(){
if(!ON){
ON=true;
thread=new Thread(this,"WebServer");
thread.start(); }}
public void run(){
while(ON){
listenSocket = new ServerSocket(port);
Socket connectionSocket = listenSocket.accept();
Thread t = new Thread(new Client(connectionSocket));
t.start();
listenSocket.close();}
}}
Client.java
class Client implements Runnable {
public void start(){
thread=new Thread(this,"Client");
thread.start();}
public void run(){
//parse the request and send a file
}
}
myApp.java
public class myApp extends Activity{
onCreate(){
WebServer ws=new WebServer(8080);
}
onClick(){
...
ws.start();
}}
当我点击活动按钮时,它调用webserver.start();在我看来,谷歌浏览器同时发送更多请求,并且线程出现问题... 你能帮助我吗?
[编辑] 我忘了写在run()方法中的循环中的问题
[编辑2] 我只是想与其他电脑,有问题也与火狐..
将ServerSocket创建移出循环。这是行不通的。 – ZeissS
Thank'youuu !!!现在它的作品总是:) – supergiox