JAVA Socket 程式設計學習
阿新 • • 發佈:2018-12-29
import java.io.*; import java.net.Socket; /** * 伺服器端執行緒處理類 * Created by Administrator on 2017/9/28. */ public class ServerThread extends Thread { //和本執行緒相關的socket Socket socket = null; public ServerThread(Socket socket) { this.socket = socket; } public void run() { //伺服器處理程式碼 //3、獲取輸入流,並讀取客戶端資訊 InputStream inputStream = null; BufferedReader br = null; OutputStream os = null; PrintWriter pw = null; try { inputStream = socket.getInputStream(); br = new BufferedReader(new InputStreamReader(inputStream, "utf-8")); String data = null; while ((data = br.readLine()) != null) { System.out.println("我是伺服器,客戶端說:" + data); } socket.shutdownInput();//關閉輸入流 //4、獲取輸出流,響應客戶端的請求 os = socket.getOutputStream(); pw = new PrintWriter(os); pw.write("歡迎你!"); pw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { //關閉資源 try { if (pw != null) { pw.close(); } if (os != null) { os.close(); } if (br != null) { br.close(); } inputStream.close(); } catch (IOException e) { e.printStackTrace(); } try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } }