標籤:logs als new sock flush fail string host hand
PrintWriter write = new PrintWriter(socket.getOutputStream()); //擷取socket的輸出資料流write.flush();//發送資料,重新整理輸出資料流InputStreamReader in =new new InputStreamReader(socket.getInputStream()); //擷取socket的輸入資料流伺服器端:
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class Service { ServerSocket server; Socket socket; public Service() { //建立伺服器 try { server = new ServerSocket(10086); System.out.println("start service"); onServer(); } catch (IOException e) { System.out.print("failed to start service"); } } private void onServer() { try { socket = server.accept(); //監聽連接埠 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream())); String line; //不斷從已建立連結的socket接收資料 do{ line = in.readLine(); System.out.println("Client Say:" + line); } while(!line.equals("quit")); in.close(); socket.close(); server.close(); } catch (IOException e) { System.out.println("Error" + e); } } public static void main(String[] args) { Service s = new Service(); }}
用戶端:
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;public class Client { private Socket socket; public Client() { //串連伺服器 try { socket = new Socket("localhost",10086); HandleInput(); } catch (IOException e) { System.out.println("failed to connect Service"); } } private void HandleInput() { try { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PrintWriter write = new PrintWriter(socket.getOutputStream()); String readline; do { readline = br.readLine(); write.println(readline); //寫入輸出端 write.flush();//重新整理,發送 System.out.println(readline); } while (!readline.equals("quit!")); write.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { Client c = new Client(); }}
java socket介面