0
我想運行我的ServerSocket,我知道如何使用線程,但我想在Ui中啓動它,所以我想用AsyncTask啓動這個服務器。運行服務器不在UiThread
我有代碼:
,但它不工作,誰能告訴我該怎麼辦?
我使用的AsyncTask ServerClient運行,我想也跑我的服務器liek的是, 這裏是我的客戶端代碼:
public class MyClientTask extends AsyncTask<Void, Void, Void> {
String dstAddress="..."
int dstPort=8080;
String response = "";
MyClientTask(String addr, int port){
dstAddress = addr;
dstPort = port;
}
@Override
protected Void doInBackground(Void... arg0) {
Socket socket = null;
try {
socket = new Socket(dstAddress, dstPort);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
response = "UnknownHostException: " + e.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
response = "IOException: " + e.toString();
}finally{
if(socket != null){
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
@Override
protected void onPostExecute(Void result)
{
super.onPostExecute(result);
}
}
}
即使我把toast放在onPostExecute()它不工作,我不認爲我使用AsyncTask權利,我只需要在後臺運行服務器。代碼在帖子中是不正確的。 – user3465277
那是你所有的代碼嗎? – codeMagic
ServerSocket serverSocket; – user3465277