[英]Android emulator(client) to phone(server) socket connection
我目前正在嘗試通過TCP / IP套接字連接連接模擬器(客戶端)和電話(服務器)。 但不知怎的,它永遠不會起作用,但如果我嘗試將模擬器(作為客戶端/服務器)與內部java程序(作為客戶端/服務器)連接,它也可以正常工作,套接字連接也可以正常工作,從手機到不在模擬器上的應用程序。 我認為這與端口轉發有關,所以我嘗試過:
telnet localhost 5554
redir add tcp:1337:12345
但是當我用端口號1337和服務器端12345測試我的客戶端時,它仍然不起作用,服務器代碼沒有.accept()客戶端的請求。
以下是我的客戶端(模擬器)和服務器(電話)代碼,用於接受和設置io流
客戶:
SERVER_IP是本地IP地址
connection = new Socket(SERVER_IP, PORT);
private void setUpStreams() throws IOException {
output = new ObjectOutputStream(connection.getOutputStream());
output.flush();
input = new ObjectInputStream(connection.getInputStream());
}
服務器:
這是為了接受用戶私有的void acceptingUser(){
try {
ss = new ServerSocket(PORT, 10);
connection = ss.accept();
connected = true;
osm.updateInChatStatus(1);
} catch (IOException e) {
// TODO Auto-generated catch block
Log.i("serv", "Wasn't able to connect with any clients!: " + e);
}
}
和設置流非常類似於客戶端。 提前感謝您的建議和解決方案。
要訪問網絡連接,您需要在AndroidManifest.xml中設置權限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bosch.adx.esidroid">
<uses-permission android:name="android.permission.INTERNET" />
<application
--
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.