首先定义好服务器端,并设定需要监听的端口。
public class MyServer {
public static void main(String args[]){
try {
ServerSocket server = new ServerSocket(8889);
Socket socket = server.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter write = new PrintWriter(socket.getOutputStream());
System.out.println(socket.getLocalAddress().toString());
System.out.println(socket.getPort());
while(true){
String str = reader.readLine();
System.out.println(str);
write.println("here receive...");
write.flush();
if("end".equals(str)){
break;
}
//write.close();
}
System.out.println("END...");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
其次是客户端,发出对定义好的服务器端口的请求。
public class MyClient {
Socket socket;
public MyClient(){
try {
socket = new Socket(InetAddress.getLocalHost(),8889);
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(socket.getOutputStream());
BufferedReader write = new BufferedReader(new InputStreamReader(System.in));
while(true){
String str= write.readLine();
out.println(str);
out.flush();
if("end".equals(str)){
break;
}
}
System.out.println(in.readLine());
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
}
}
public static void main(String args[]){
new MyClient();
}
}
如此这般,就完成了一次简单的socke请求。