【Android】socket通信

在用安卓手機(jī)做socket通信的時候,出現(xiàn)這個報錯 java.net.SocketException: socket failed: EACCES (Permission denied),以后不用看就知道網(wǎng)絡(luò)權(quán)限沒有加。
服務(wù)端代碼如下:

public class SocketServer {
    public static void main(String[] args) throws IOException {
        //1.創(chuàng)建一個服務(wù)器端Socket,即ServerSocket,指定綁定的端口,并監(jiān)聽此端口
        ServerSocket serverSocket = new ServerSocket(12345);
        InetAddress address = InetAddress.getLocalHost();
        String ip = address.getHostAddress();
        Socket socket = null;
        //2.調(diào)用accept()等待客戶端連接
        System.out.println("~~~服務(wù)端已就緒,等待客戶端接入~,服務(wù)端ip地址: " + ip);
        socket = serverSocket.accept();
        //3.連接后獲取輸入流,讀取客戶端信息
        InputStream is=null;
        InputStreamReader isr=null;
        BufferedReader br=null;
        OutputStream os=null;
        PrintWriter pw=null;
        is = socket.getInputStream();     //獲取輸入流
        isr = new InputStreamReader(is,"UTF-8");
        br = new BufferedReader(isr);
        String info = null;
        while((info=br.readLine())!=null){
            //循環(huán)讀取客戶端的信息
            System.out.println("客戶端發(fā)送過來的信息" + info);
        }
        socket.shutdownInput();//關(guān)閉輸入流
        socket.close();
  }

客戶端代碼如下:我跑在安卓手機(jī)上



 private void acceptServer() throws IOException {
        //1.創(chuàng)建客戶端Socket,指定服務(wù)器地址和端口
        Socket socket = new Socket("xxx", 12345);
        //2.獲取輸出流,向服務(wù)器端發(fā)送信息
        OutputStream os = socket.getOutputStream();//字節(jié)輸出流
        PrintWriter pw = new PrintWriter(os);//將輸出流包裝為打印流
        //獲取客戶端的IP地址
        InetAddress address = InetAddress.getLocalHost();
        String ip = address.getHostAddress();
        pw.write("客戶端:~" + ip + "~ 接入服務(wù)器??!");
        pw.flush();
        socket.shutdownOutput();//關(guān)閉輸出流
        socket.close();
    }

xxx替換為自己的服務(wù)器的ip,保證手機(jī)和服務(wù)器在同一個網(wǎng)段即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Socket Socket 作為一種通用的技術(shù)規(guī)范,首次是由 Berkeley 大學(xué)在 1983 為 4.2B...
    秀花123閱讀 31,220評論 3 26
  • MainActivity.java TcpClient.java TcpClient 是Tcp Socket客戶...
    houlucky閱讀 5,913評論 6 18
  • 目錄 socket 簡介 創(chuàng)建連接 接收消息 發(fā)送消息 斷開連接 進(jìn)度灰色?;?IPC 自定義權(quán)限廣播 重試機(jī)制 ...
    jiantaocd閱讀 4,779評論 4 18
  • 本文原創(chuàng),歡迎隨便匿名轉(zhuǎn)載,你高興就行。 上次寫了一篇Android Socket通信--TcpClient,最近...
    hadisi5216閱讀 4,225評論 1 28
  • 本文原創(chuàng),歡迎隨便匿名轉(zhuǎn)載,你高興就行。 背景:小的是做android開發(fā)的,項(xiàng)目中經(jīng)常要和硬件打交道,所以會遇到...
    hadisi5216閱讀 10,123評論 6 34

友情鏈接更多精彩內(nèi)容