Java Socket 简单实践
服务端
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerSocketTest {
public static void main(String[] args) {
try {
//初始化服务端socket并且绑定9999端口
ServerSocket serverSocket = new ServerSocket(9999);
//等待客户端的连接
Socket socket = serverSocket.accept();
//获取输入流,并且指定统一的编码格式
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"));
//读取一行数据
String str;
//通过while循环不断读取信息,
while ((str = bufferedReader.readLine()) != null) {
//输出打印
System.out.println(str);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端
import java.io.*;
import java.net.Socket;
import java.util.*;
public class ClientSocket {
//初始化一个socket
static Socket socket;
//通过socket获取字符流
static BufferedWriter bufferedWriter;
//通过标准输入流获取字符流
static BufferedReader bufferedReader;
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
Date firstTime = calendar.getTime();
// long period = 1000 * 60 * 2; // 执行间隔:2分钟
long period = 1000 * 1; //1秒执行一次
Timer timer = new Timer();
{
try {
// host:ip地址 port:端口号
socket = new Socket("127.0.0.1", 9999);
bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bufferedReader = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));
} catch (IOException e) {
e.printStackTrace();
}
}
timer.schedule(new TimerTask() {
int i = 0;
@Override
public void run() {
try {
// while (i < 20) {
// Random random = new Random();
// String str = bufferedReader.readLine();
String str = String.valueOf(i);
System.out.println(str);
bufferedWriter.write(str);
bufferedWriter.write("\n");
bufferedWriter.flush();
i++;
// }
} catch (IOException e) {
e.printStackTrace();
}
}
}, firstTime, period);
}
}
参考资料
- https://www.cnblogs.com/linkenpark/p/11289018.html
- https://www.cnblogs.com/blogtech/p/10142212.html
- https://blog.csdn.net/qq_41833449/article/details/88822990
- https://www.runoob.com/java/net-serversocket-socket.html
- https://developer.51cto.com/art/201202/318163.htm
- https://www.jianshu.com/p/cde27461c226
- https://developer.51cto.com/art/201202/317543.htm
- https://blog.csdn.net/songxinfeng1989/article/details/81027156
💥 一个正在学习全栈的 💥
⭐ 精神小伙 ⭐
💥 MelodyJerry 💥