Socket單方面向ServerSocket提供流可以ServerSocket可以拿流 雙向通信就不行了 沒反應(yīng)截屏我貼出來
public class Client1 {
public static void main(String[] args) {
//創(chuàng)建客戶端的Socket通信
try {
Socket socket=new Socket("localhost", 8888);
OutputStream os=socket.getOutputStream();//獲取輸出流
PrintWriter pw=new PrintWriter(os);//包裝為打印流
pw.write("用戶名:Admin;密碼:123");
pw.flush();
//故去輸入流
InputStream is=socket.getInputStream();//字符流
InputStreamReader isr=new InputStreamReader(is);//字符流
BufferedReader br=new BufferedReader(isr);//添加緩沖區(qū)
String info="";
? ? ? ? ?while((info=br.readLine())!=null){//循環(huán)輸出客戶端的數(shù)據(jù)
? ? ? ? System.out.println("我是服務(wù)器:客戶端說"+info);
? ? ? ? ?}
? ? ? ? ? ? br.close();
? ? ? ? ? ? isr.close();
? ? ? ? ? ? is.close();
? ? ? ? ? ? pw.close();
? ? ? ? ? ? os.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class Server1 {
public static void main(String[] args) {
try {
ServerSocket serverSocket=new ServerSocket(8888);
System.out.println("********服務(wù)器將打開*********");
Socket socket=serverSocket.accept();
InputStream is=socket.getInputStream();//字符流
InputStreamReader isr=new InputStreamReader(is);//字符流
BufferedReader br=new BufferedReader(isr);//添加緩沖區(qū)
String info="";
? ? ? ? ?while((info=br.readLine())!=null){//循環(huán)輸出客戶端的數(shù)據(jù)
? ? ? ? System.out.println("我是服務(wù)器:客戶端說"+info);
? ? ? ? ?}
//服務(wù)器響應(yīng)用戶端的請求
? ? ? ? ? OutputStream os=socket.getOutputStream();
? ? ? ? ? PrintWriter pw=new PrintWriter(os);
? ? ? ? ? pw.write("歡迎admin登錄");
? ? ? ? ? pw.flush();
? ? ? ? ?
? ? ? ? ?//關(guān)閉Socket
? ? ? ? ? ? pw.close();
? ? ? ? ? ? os.close();
? ? ? ? ? ? br.close();
? ? ? ? ? ? isr.close();
? ? ? ? ? ? is.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2017-01-07
我用的編輯器是MyEclipes