在Tcp編程模型中佛猛,Echo程序模型的基本思想在于,客戶端通過鍵盤輸入一個信息继找,把此信息發(fā)送給服務(wù)器端后,服務(wù)器端會將此信息反饋給客戶端進行顯示幻锁,主要是使用到j(luò)ava.net包下的兩個類边臼,Socket和ServerSocket哄尔。
代碼:
public static void main(String[] args) throws IOException {
//服務(wù)端
ServerSocket server = new ServerSocket(8000);
//客戶端
Socket client = server.accept();
//客戶端輸出流
PrintStream print = new PrintStream(client.getOutputStream());
print.write(getString("連接成功啦岭接!")); //輸出
print.println();
boolean flag = true;
while (flag){
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream(),"GBK"));
//讀取進來的字符轉(zhuǎn)換成“GBK”格式的buffer
String str = br.readLine();
if ("exit".equalsIgnoreCase(str)){
flag = false;
print.println();
print.write(getString("退出連接臼予!"));
}else {
print.write(getString("你輸入了:" + str));
print.println();
}
br.close();
print.close();
client.close();
server.close();
}
}
public static byte[] getString(String str) throws UnsupportedEncodingException {
return str.getBytes("GBK");
}
//把字符串轉(zhuǎn)換成“GBK”格式,IDE默認格式是“UTF-8”粘拾,而window的cmd輸出默認格式是“GBK”,所以必須轉(zhuǎn)換格式入偷,不然亂碼追驴。
另外:
telnet localhost 8000
cmdl連接啟動的服務(wù)端代碼疏之。