我在一個應用程序上工作,我做了一個TCP Listner,它可以在無線網絡上正常工作,但是當我連接到3G/4G或移動網絡時,它不起作用。可以通過一些身體幫助我嗎? 我的代碼是在這裏Android的TCP偵聽器不能在3G/4G上工作?
public class ListenerService extends Service {
Socket socket;
private ServerSocket serverSocket;
BufferedReader in = null;
static String message=null;
int portNo=1619;
boolean flag=true;
final static String MY_ACTION = "MY_ACTION";
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
new Task().execute();
}
private class Task extends AsyncTask <Void, String, String> {
@Override
protected String doInBackground(Void... params) {
try {
serverSocket = new ServerSocket(portNo);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while (flag) {
try {
socket = serverSocket.accept();
in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
//try {
StringBuilder total = new StringBuilder();
String line;
while ((line = in.readLine()) != null) {
total.append(line);
}
message = total.toString();
Log.d("NETWORK-RECEIVE", "Message!:" + message);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return message;
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
Log.d("Server Startd","Listener Serverice is running");
//Toast.makeText(getApplicationContext(),"Service Started", Toast.LENGTH_LONG).show();
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}
可一些告訴我,我錯過了什麼M在這裏嗎?
這是不可能的,我會打我的服務器從我的手機連接到不同的網絡的wifi.after服務器將發送數據在我的端口1619. 它工作正常wifi.but當我連接到我的移動網絡,它不工作,我認爲有一個權限或套接字連接的問題。 – 2014-09-22 09:38:20
@MuhammadNadeem什麼「服務器」?一個真正的Web服務器?在這種情況下,這是可能的。但是,如果您的「服務器」是Android設備,那麼這是不可能的,因爲如果沒有Wi-Fi或來自不同的子網,無法訪問它,除非路由和專門配置爲Web服務器。 – 0101100101 2014-09-22 09:44:58
是的,我們有一個webserver.and我正在監聽webserver.when網絡服務器在我的android手機上發送數據,然後我的監聽器監聽端口1619上的數據,它在wifi上工作正常。但如果我連接到3G或4G它不起作用 – 2014-09-22 09:48:11