客户端:
package com.wangwei;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Socket socket = new Socket("127.0.0.1",8888);
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);
pw.write("|89001|1111|2222|3333|");
pw.flush();
socket.shutdownOutput();//关闭输出流
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader bf = new BufferedReader(isr);
String str = null;
while ((str = bf.readLine()) != null) {
System.out.println("服务端回应:"+str);
}
socket.shutdownInput();//关闭输入流
bf.close();
isr.close();
is.close();
pw.close();
os.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
服务器端:
package com.wangwei;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务端监听即将开启");
Socket socket = serverSocket.accept();
InputStream is = socket.getInputStream();//服务端获取客户端传来的信息
InputStreamReader isr = new InputStreamReader(is);//字节流转换为字符流
BufferedReader bf = new BufferedReader(isr);//为字符流提供缓冲机制
String str = null;
while ((str = bf.readLine())!=null) {
System.out.println("我是服务端,客户端说"+str);
}
socket.shutdownInput();//关闭输入流
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);
pw.write("欢迎您!");
pw.flush();
socket.shutdownOutput();//关闭输出流
//关闭一系列资源
pw.close();
os.close();
bf.close();
isr.close();
is.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
先启服务端,再启客户端