【笔记】Java的Socket网络编程

前言

Java的Socket(套接字)网络编程学习笔记

ServerSocket

  • 服务器代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
public static void main(String[] args) throws Exception {
// 创建ServerSocket对象,参数为开放的端口号
ServerSocket server = new ServerSocket(8000);
System.out.println("服务器已启动");
// 获取客户端的连接(Socket对象)
Socket socket = server.accept();
// 获取IO流
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();

// IO读写操作
...

out.flush(); // 把资源刷出去但不关闭资源
}
}

Socket

  • 客户端代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Client {
public static void main(String[] args) throws Exception {
// 创建Socket对象,参数为服务器IP地址和端口号
Socket socket = new Socket("127.0.0.1", 8000);
System.out.println("与服务器连接成功");
// 获取IO流
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();

// IO读写操作
...

out.flush(); // 把资源刷出去但不关闭资源
}
}

完成