web客户端和服务器端的连接原理在网上可以搜到很多,我也是在网上查到的。其实在这里只是想吐槽自己。自己很早之前就说要写一下这个程序,具体什么时候忘记了,反正写了三四次了,然而每一次都以为自己已经记住了,但是到下一次想考一下自己还会不会写出来这个程序的时候,还是会翻出上一次在网上找到的程序,而且每一次在参考的时候也回去找网上的原理,试着去理解。然而在这一次依然写不出来,于是就对自己很生气了,依旧找了原理去看以及那些PrintWriter,BufferedReader的用法。反思了一下自己吧,总是很想去背东西,懒得动手去写,还有就是不那么灵活吧(在学习方面)。好了,批评完了,好好学习,嗯!
客户端:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class client {
public static void main(String args[]){
System.out.println("I am client");
try{
Socket client = new Socket("localhost",8080);
PrintWriter out = new PrintWriter(client.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true){
String message = br.readLine();
out.println(message);
if(message.equals("quit")){
System.out.println("bye");
break;
}
}
out.flush();
client.close();
br.close();
}catch(UnknownHostException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
}
服务器端:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class server {
public static void main(String args[]){
try{
ServerSocket server = new ServerSocket(8080);
Socket socket = server.accept();
System.out.println("--I am server--");
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = br.readLine();
System.out.println(message);
server.close();
socket.close();
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
}