java.net.BindException: bind failed: EACCES (Permission denied)

今天寫android socket編程的時候,遇到一個問題:

代碼如下:

new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    mServerSocket = new ServerSocket(mPort);
                    mServer = mServerSocket.accept();

                    mServerOut = new DataOutputStream(mServer.getOutputStream());
                    mServerIn = new DataInputStream(mServer.getInputStream());

                    String contentReceive = mServerIn.readUTF();
                    Message msg = new Message();
                    msg.obj = contentReceive;
                    msg.what = MSG_ON_RECEIVE;
                    mHandler.sendMessage(msg);
                } catch (IOException e) {
                    Log.d(Constants.TAG, "receive---" + e.toString());
                    e.printStackTrace();
                }
            }
        }).start();

報錯信息如下:

java.net.BindException: bind failed: EACCES (Permission denied)

解決方法:

1. 沒有添加權限:<uses-permission android:name="android.permission.INTERNET" />
2. 權限書寫不規範:<uses-permission android:name="android.permission.INTERNET" />替換<uses-permission android:name="android.permission.INTERNET"></uses-permission>
3. 綁定端口號小於1024



發佈了22 篇原創文章 · 獲贊 16 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章