Client.java ------------- package com.so; import java.net.*; import java.io.*; public class Client { public static void main(String[] args) throws UnknownHostException, IOException { //通过服务器的IP或者计算机名+端口号构造socket连接 Socket server = new Socket(InetAddress.getLocalHost(),8888); //通过与服务器的socket连接构造输入流,用与接收服务器返回的消息。 BufferedReader in = new BufferedReader(new InputStreamReader(server.getInputStream())); //通过与服务器的socket连接构造输出流,用于向服务器端发送消息 PrintWriter out = new PrintWriter(server.getOutputStream()); //用后台的输入构造输入流,用于自己输入消息发送给服务端。 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true){ //读取后台输入的行 String str = br.readLine(); //发送给服务端消息 out.println(str); out.flush(); if("end".equals(str)){ break; } //打印服务器端返回的消息 System.out.println(in.readLine()); } //关闭与服务器端的socket连接。 server.close(); } }Server.java ----------------- package com.so; import java.io.*; import java.net.*; public class Server { public static void main(String[] args) throws IOException { //开服务器端的套接字,端口为8888 ServerSocket server = new ServerSocket(8888); //监听客户端的套接字消息 Socket client = server.accept(); //获得客户端发过来的消息转为输入流 BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); //根据与客户端建立的socket连接获得输出流,构造printwriter的out对象,用于返回给客户端消息 PrintWriter out = new PrintWriter(client.getOutputStream()); while(true){ //读取客户端获得的消息 String str = in.readLine(); //输出消息到后台 System.out.println("Server:"+str); //"发送"消息给客户端 out.println("has receive...."); out.flush(); //如果客户端的消息是end命令 则退出程序。 if("end".equals(str)){ break; } } //关闭与客户端建立的socket连接 client.close(); } }
-------------
package com.so;
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) throws UnknownHostException, IOException {
//通过服务器的IP或者计算机名+端口号构造socket连接
Socket server = new Socket(InetAddress.getLocalHost(),8888);
//通过与服务器的socket连接构造输入流,用与接收服务器返回的消息。
BufferedReader in = new BufferedReader(new InputStreamReader(server.getInputStream()));
//通过与服务器的socket连接构造输出流,用于向服务器端发送消息
PrintWriter out = new PrintWriter(server.getOutputStream());
//用后台的输入构造输入流,用于自己输入消息发送给服务端。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true){
//读取后台输入的行
String str = br.readLine();
//发送给服务端消息
out.println(str);
out.flush();
if("end".equals(str)){
break;
}
//打印服务器端返回的消息
System.out.println(in.readLine());
}
//关闭与服务器端的socket连接。
server.close();
}
}Server.java
-----------------
package com.so;
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
//开服务器端的套接字,端口为8888
ServerSocket server = new ServerSocket(8888);
//监听客户端的套接字消息
Socket client = server.accept();
//获得客户端发过来的消息转为输入流
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
//根据与客户端建立的socket连接获得输出流,构造printwriter的out对象,用于返回给客户端消息
PrintWriter out = new PrintWriter(client.getOutputStream());
while(true){
//读取客户端获得的消息
String str = in.readLine();
//输出消息到后台
System.out.println("Server:"+str);
//"发送"消息给客户端
out.println("has receive....");
out.flush();
//如果客户端的消息是end命令 则退出程序。
if("end".equals(str)){
break;
}
}
//关闭与客户端建立的socket连接
client.close();
}
}