• java Socket


    Socket 使用TCP协议实现网络通信的Socket相关的类

    如下新建了一个服务端和一个客户端,在对应的编辑器里面运行,既可以获得结果

    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
    
    	public static void main(String args[]) {
    		try {
    			//创建一个ServerSocket监听8080端口
    			ServerSocket server = new ServerSocket(8080);
    			// 等待请求
    			Socket socket = server.accept();
    			//接受到请求后使用socket进行通信。创建BufferedReader用于读取数据
    			BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    			String line = is.readLine();
    			System.out.println("received from client: " + line);
    			//创建PrintWriter,用于发送数据
    			PrintWriter pw = new PrintWriter(socket.getOutputStream());
    			pw.println("received data : " + line);
    			pw.flush();
    			//关闭资源
    			pw.close();
    			is.close();
    			socket.close();
    			server.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    import java.io.*;
    import java.net.Socket;
    
    public class Client {
    
    	public static void main(String args[]) {
    		String msg = "Client Data";
    		try {
    			//创建一个Socket,和本机的8080端口连接
    			Socket socket = new Socket("127.0.0.1",8080);
    			// 使用Socket创建PrintWriter和BufferedReader进行读写数据
    			PrintWriter pw = new PrintWriter(socket.getOutputStream());
    			BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    			//发送数据
    			pw.println(msg);
    			pw.flush();
    			//接受数据
    			String line = is.readline();
    			System.out.println("received from server: " + line);
    			//关闭资源
    			pw.close();
    			is.close();
    			socket.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    在这里插入图片描述

  • 相关阅读:
    vue.js之组件(component)
    OA系统、ERP系统、MIS系统的区别
    Nginx的网站服务
    Java项目:springboot医院管理系统
    【GO】go mod 和vendor依赖管理工具
    LeetCode5:最长回文子串
    【Azure 应用服务】Azure Function 启用 Managed Identity后, Powershell Funciton出现 ERROR: ManagedIdentityCredential authentication failed
    练习敲代码速度/提高打字速度
    Go : golang发布三方包流程简介
    Python 元类详解
  • 原文地址:https://blog.csdn.net/qq_40801987/article/details/126483656