
import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.net.ServerSocket;
import?java.net.Socket;
public?class?ServerSocketTest?{
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);
String?buffer?=?br.readLine();
while?(buffer?!=?null)?{
System.out.println("我是服務(wù)器端,客戶端向我發(fā)送信息為:?"?+?buffer);
}
socket.shutdownInput();
br.close();
isr.close();
is.close();
socket.close();
serverSocket.close();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
package?com.unit02;
import?java.io.IOException;
import?java.io.OutputStream;
import?java.io.PrintWriter;
import?java.net.Socket;
import?java.net.UnknownHostException;
public?class?ClientTest?{
public?static?void?main(String[]?args)?{
try?{
Socket?socket?=?new?Socket("localhost",?8888);
OutputStream?os?=?socket.getOutputStream();
PrintWriter?pw?=?new?PrintWriter(os);
pw.write("用戶名:?admin;?密碼:?123");
pw.flush();
socket.shutdownOutput();
pw.close();
os.close();
socket.close();
}?catch?(UnknownHostException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
2017-02-06
?String?buffer?=?br.readLine();
????????????while?(buffer?!=?null)?{
????????????????System.out.println("我是服務(wù)器端,客戶端向我發(fā)送信息為:?"?+?buffer);
????????????}
這句話有問題了,buffer在讀取玩br.readLine(),的時候就是已經(jīng)有數(shù)值了,你在循環(huán)的時候已經(jīng)進入了while(1)z這樣的情況,他是不會跳出循環(huán)的,所以一直在重復(fù)打印
2017-06-17