客户端
public static void main(String[] args) {
//客户端
Socket socket=null;
Scanner sc =null;
BufferedReader br =null;
PrintStream ps =null;
try {
sc= new Scanner(System.in);
socket=new Socket("192.168.0.107",8888);
System.out.println("连接服务器成功...");
ps = new PrintStream(socket.getOutputStream());
br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true){
System.out.println("请输入您的聊天信息:");
String msg = sc.next();
ps.println(msg);
String serverMsg = br.readLine();
System.out.println("服务器发来的消息: "+serverMsg);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
//分别进行关流操作
if (br != null){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
if (ps != null){
ps.close();
}
if (sc != null){
sc.close();
}
if (socket != null){
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
服务器
public static void main(String[] args) {
ServerSocket serverSocket = null;
Socket socket=null;
Scanner sc =null;
BufferedReader br =null;
PrintStream ps =null;
try {
serverSocket = new ServerSocket(8888);
System.out.println("等待客户端连接...");
socket = serverSocket.accept();
System.out.println("客户端"+socket.getInetAddress()+"已经链接成功");
br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
ps = new PrintStream( socket.getOutputStream() );//获取输出流
byte[] bytes = new byte[1024];
while (true) {
//接收信息
String msg = br.readLine();
System.out.println("客户端发来信息:" + msg);
ps.println("好的宝");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ps != null){
ps.close();
}
if (br != null){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (serverSocket != null){
try {
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
线程
public class ServerThread implements Runnable{
private Socket socket ;
public ServerThread(Socket socket) {
this.socket = socket;
}
@Override
public void run() {
BufferedReader br = null;
PrintStream ps = null;
try {
br = new BufferedReader(
new InputStreamReader(
socket.getInputStream()));
ps = new PrintStream(socket.getOutputStream());
while (true){
String clientMsg = br.readLine();
if (null != clientMsg){
System.out.println("客户端说:" + clientMsg);
ps.println("收到。。。");
}
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if (ps != null){
ps.close();
}
if (br != null){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (socket != null){
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}