系列文章:
ESP8266的AP模式与STA模式简单测试
简单的Java服务器和客户端的通信
STM32 ESP8266和Java服务器透传模式下的双向通信
jsp向servlet传输数据
Servlet向JSP传递数据以及JSP页面DIV定时局部刷新
JSP向Servlet传递数据以及与STM32、ESP8266通信过程
没啥,就简单记录下
好像只支持传输字符串,不支持传输汉字
服务器端:
package Socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerTest2 {
public static void main(String[] args) {
try {
ServerSocket serverSocket=new ServerSocket(9999);
System.out.println("服务器2已启动,等待客户端连接...\n");
//等待客户端的连接
Socket socket = serverSocket.accept();
System.out.println("Socket client" + socket.getRemoteSocketAddress() + "成功连接");
//获取输入流,并且指定统一的编码格式
BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
//读取一行数据
String str;
//通过while循环不断读取信息,
while ((str = bufferedReader.readLine())!=null){
//输出打印
System.out.println("客户端发来的数据为:");
System.out.println(str);
}
}catch (IOException e) {
e.printStackTrace();
}
}
}
客户端:
package Socket;
import java.io.*;
import java.net.Socket;
public class ClientTest2 {
public static void main(String[] args) {
try {
//初始化一个socket
Socket socket =new Socket("127.0.0.1",9999);
//通过socket获取字符流
BufferedWriter bufferedWriter =new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
//通过标准输入流获取字符流
BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
while (true){
System.out.println("请向服务器发送消息:\n");
String str = bufferedReader.readLine();
bufferedWriter.write(str);
bufferedWriter.write("\n");
bufferedWriter.flush();
}
}catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果: