[英]W/System.err: java.net.SocketException: socket failed: EACCES (Permission denied) in android
Tying push the data from my application to local server.绑定将数据从我的应用程序推送到本地服务器。
public class MainActivity extends AppCompatActivity {
Socket socket;
private static final String SERVER_IP = "127.0.0.1";//server ip
private static final int SERVERPORT = 8000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new ClientThread()).start();
}
private class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
In the manifest file I have registered below permissions在清单文件中,我已注册以下权限
<uses-permission android:name="android.promission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
getting below error:
出现以下错误:
W/System.err: java.net.SocketException: socket failed: EACCES (Permission denied)
I/zygote: NativeAllocBackground concurrent copying GC freed 2066(637KB) AllocSpace
objects, 0(0B) LOS objects, 73% free, 547KB/2MB, paused 13.469ms total 130.017ms
W/System.err: at java.net.Socket.createImpl(Socket.java:487)
W/System.err: at java.net.Socket.<init>(Socket.java:441)
W/System.err: at java.net.Socket.<init>(Socket.java:248)
W/System.err: at com.abc.MainActivity$ClientThread.run(MainActivity.java:85)
Can you please help me to resolve this issue.你能帮我解决这个问题吗?
There's a typo in the manifest: PROmission instead of PERmission!清单中有一个拼写错误:PROmission 而不是 PERmission!
<uses-permission android:name="android.promission.INTERNET"/>
should say应该说
<uses-permission android:name="android.permission.INTERNET"/>
Your app is running on an emulator.您的应用程序正在模拟器上运行。 If your app uses localhost address 127.0.0.1 it tries to connect to a server also running on that emulator.
如果您的应用程序使用本地主机地址 127.0.0.1,它会尝试连接到也在该模拟器上运行的服务器。
If your server is running on the same pc your emulator is running on your app should use ip address 10.0.2.2 instead.如果您的服务器在同一台 PC 上运行,则您的应用程序上运行的模拟器应使用 ip 地址 10.0.2.2 代替。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.