• 网络编程


    TCP/IP:网络通信协议,由网络层的IP协议和传输层的TCP协议组成。

    IP地址:用于标识每台计算机。

    PORT端口号:对应计算机上的应用

    C/S结构(客户端/服务器)     如:QQ

    B/S结构(浏览器/服务器)      如:百度、火狐

    TCP:传输控制协议,采用三方握手的方式。保证准确的连接操作。

    UDP:数据报协议,发送数据。   例如:手机短信和 QQ消息。不安全,不可靠的,只负责把数据发出,不关注对方是否能收到。

    ServerSocket:此类实现服务器套接字。

    Socket:此类实现客户端套接字。

    Socket是网络驱动层提供给应用程序的接口和一种机制

    具体实现的Demo:

    public class ServerSocket {
        public static void main(String [] args){
            try {
                //创建服务器端的socket
                ServerSocket serverSocket = new ServerSocket(6666);
                //等待客户端连接
                Socket s = serverSocket.accept();
                System.out.println("客户端连接成功!");
                BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
                //通过输入流读取网络数据,如果没有消息阻塞
                String info =  br.readLine();
                System.out.println(info);
                //获取输出流,向客户端返回信息
                PrintStream ps = new PrintStream(new BufferedOutputStream(s.getOutputStream()));
                ps.println("服务器响应的消息!");
                ps.flush();
                //关闭
                br.close();
                ps.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    public class ClientSocket {
        public static void main(String [] args){
            try {
                Socket socket = new Socket("127.0.0.1",6666);
                PrintStream ps = new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
                BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    
                ps.println("客户端发送的消息!");
                ps.flush();
                //读取服务器返回的数据
                String info = br.readLine();
                System.out.println(info);
                ps.close();
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    grep 和vim用法
    【python】初识函数
    【python】 文件相关操作
    【python】基础数据类型相关知识点补充和深浅拷贝
    【python】is和==的区别以及encode()和decode()
    python中的字典以及相关操作
    python列表元祖以及range
    python基本数据类型
    python基础逻辑运算
    了解Python与安装Python解释器
  • 原文地址:https://www.cnblogs.com/wenbiquan/p/11091028.html
Copyright © 2020-2023  润新知