服务端代码的实现
package com.foot.lesson6;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
System.out.println("启动客户端……");
try {
ServerSocket ss = new ServerSocket(18941);
Socket s = ss.accept();
InputStream is = s.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String strLine = br.readLine();
System.out.println("客户端说:" + strLine);
OutputStream os = s.getOutputStream();
PrintStream ps = new PrintStream(os);
String out = "客户端你好!";
ps.println(out);
isr.close();
ps.close();
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端代码的实现
package com.foot.lesson6;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) {
System.out.println("客户端启动……");
//
try {
Socket sk = new Socket("127.0.0.1", 18941);
OutputStream os = sk.getOutputStream();
PrintStream ps = new PrintStream(os, true);
//该处的\n这个符号一定不可以去掉,因为在服务器接收需要给出换行,否则接收不停止
ps.print("我是客户端!\n");
InputStream is = sk.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String strLine = br.readLine();
System.out.println("服务端说:" + strLine);
sk.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果
启动客户端……
客户端说:我是客户端!