第一步:建立服务端处理线程
public class ServerThread extends Thread {
Socket sk = null;
public ServerThread(Socket sk) {
this.sk = sk;
}
public void run() {
try {
PrintWriter wtr = new PrintWriter(this.sk.getOutputStream());
BufferedReader rdr = new BufferedReader(new InputStreamReader(this.sk.getInputStream()));
String msg = rdr.readLine();
//TODO 处理msg
wtr.println("返回消息");
wtr.flush();
this.sk.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
第二步:创建socket服务端
public class ZcServer {
public void start(int port) throws Exception {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(port);
while (true) {
try {
while (true) {
Socket socket = serverSocket.accept();
LogUtil.printLog("+ socket.getInetAddress() + ":" + socket.getPort());
ServerThread th = new ServerThread(socket);
th.start();
}
break;
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (serverSocket != null)
serverSocket.close();
}
}
}
第三步:创建socket客户端
Socket socket = new Socket("localhost", 9999);
PrintWriter pw = new PrintWriter(socket.getOutputStream());
pw.println("发送内容");
pw.flush();
String returnMsg = null;
BufferedReader in =new BufferedReader(new InputStreamReader(socket.getInputStream()));
while ((returnMsg = in.readLine())!=null){
break;
}