<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                接著上一章節 我們要修改服務器端代碼 ~~~ public class TCPThreadServer { public static void main(String[] args) throws IOException{ ServerSocket server = new ServerSocket(8000); while(true){ Socket socket = server.accept(); new Thread( new Upload(socket) ).start(); } } } ~~~ 就是把監聽端口和客戶端連接提取出來,其他放到線程的run方法里面 或者這種 ~~~ /* * 文件上傳多線程版本, 服務器端 */ public class TCPServer { public static void main(String[] args) throws IOException { //1,創建服務器,等待客戶端連接 ServerSocket serverSocket = new ServerSocket(6666); //實現多個客戶端連接服務器的操作 while(true){ final Socket clientSocket = serverSocket.accept(); //啟動線程,完成與當前客戶端的數據交互過程 new Thread(){ public void run() { try{ //顯示哪個客戶端Socket連接上了服務器 InetAddress ipObject = clientSocket.getInetAddress();//得到IP地址對象 String ip = ipObject.getHostAddress(); //得到IP地址字符串 System.out.println("小樣,抓到你了,連接我!!" + "IP:" + ip); //7,獲取Socket的輸入流 InputStream in = clientSocket.getInputStream(); //8,創建目的地的字節輸出流 D:\\upload\\192.168.74.58(1).jpg BufferedOutputStream fileOut = new BufferedOutputStream(new FileOutputStream("D:\\upload\\"+ip+"("+System.currentTimeMillis()+").jpg")); //9,把Socket輸入流中的數據,寫入目的地的字節輸出流中 byte[] buffer = new byte[1024]; int len = -1; while((len = in.read(buffer)) != -1){ //寫入目的地的字節輸出流中 fileOut.write(buffer, 0, len); } //-----------------反饋信息--------------------- //10,獲取Socket的輸出流, 作用:寫反饋信息給客戶端 OutputStream out = clientSocket.getOutputStream(); //11,寫反饋信息給客戶端 out.write("圖片上傳成功".getBytes()); out.close(); fileOut.close(); in.close(); clientSocket.close(); } catch(IOException e){ e.printStackTrace(); } }; }.start(); } //serverSocket.close(); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看