客户端
import java.io.PrintWriter;
import java.net.Socket;
public class TcpClient {
public static void main(String[] args) throws Exception {
String msg = "hello world 你好世界";
Socket socket = new Socket("127.0.0.1", 8888);
PrintWriter printWriter = new PrintWriter(socket.getOutputStream());
printWriter.println(msg);
printWriter.flush();
printWriter.close();
socket.close();
}
}
服务端
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServer {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("TCP服务器已经启动,端口是8888");
while (true) {
Socket socket = serverSocket.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
String buffer = null;
while ((buffer = reader.readLine()) != null && !buffer.equals("")) {
System.out.println(buffer);
}
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));
writer.write("HTTP/1.1 200 OK \r\n Content-Type:text/html \r\n ");
writer.write("<html><head><title>http请求</title></head><body>这是一个HTTP请求</body></html>");
writer.flush();
reader.close();
writer.close();
socket.close();
}
}
}
测试
启动服务端
启动客户端
结果