JavaTCP编程

ServerSocket:使用ServerSocket创建服务器(指定服务器端口)

ServerSocket server = new ServerSocket(port);

Socket:客户端,使用Socket与服务器互连来接收和发送数据

Socket socket = new Socket(String host,int port);
//Socket有两个方法
socket.getOutputStream();    //获取输出流
socket.getInputStream();    //获取输入流

基本流程

服务器端
1.指定端口 使用ServerSocket创建服务器
2.阻塞式等待连接 `ServerSocket.accept();`,当有客户端连接时,该方法返回一个Socket
3.通过`Socket`操作: 输入输出流操作
4.释放资源


客户端
1.建立连接: 使用Socket创建客户端 +服务的地址和端口
2.操作: 输入输出流操作
3.释放资源

 1 //服务器端
 2 public class Server {
 3     public static void main(String[] args) throws Exception {
 4         System.out.println("-----Server-----");
 5         // 1、指定端口 使用ServerSocket创建服务器
 6         ServerSocket server =new ServerSocket(8888);
 7         // 2、阻塞式等待连接 accept
 8         Socket  client =server.accept(); 
 9         System.out.println("一个客户端建立了连接");
10         // 3、操作: 输入输出流操作
11         DataInputStream dis =new DataInputStream(client.getInputStream());
12         String data =dis.readUTF();
13         System.out.println(data);
14         // 4、释放资源 
15         dis.close();
16         client.close();
17         server.close();
18     }
19 }
20 
21 //客户端
22 public class Client {
23     public static void main(String[] args) throws Exception {
24         System.out.println("-----Client-----");
25         //1、建立连接: 使用Socket创建客户端 +服务的地址和端口
26         Socket client =new Socket("localhost",8888);
27         //2、操作: 输入输出流操作
28         DataOutputStream dos =new DataOutputStream(client.getOutputStream());
29         String data ="hello";
30         dos.writeUTF(data);
31         dos.flush();
32         //3、释放资源 
33         dos.close();
34         client.close();
35     }
36 }
37 
38 //IO、Socket都实现了Closeable接口
39 //释放资源
40 public static void close(Closeable... targets) {
41         for(Closeable target:targets) {
42             try {
43                 if(null!=target) {
44                     target.close();
45                 }
46             }catch(Exception e) {
47             }
48         }
49     }

猜你喜欢

转载自www.cnblogs.com/laihnhai/p/11146332.html
今日推荐