网络编程

  • 网络编程:
  • 在两台不同的计算机之间传递数据
  • 1.QQ聊天
  • 2.打开网易app 刷新界面 就有数据
  • 3.打开浏览器 网页 www.baidu.com
  • 客户端:手机app 浏览器 桌面应用
  • 服务器端:存储/处理数据
  • URL:统一的资源定位
  • http/https:传输协议 TCP/IP
  • 域名 表示一台网络中的电脑
  • IPv4 IPv6地址:唯一标识一台网络中的计算机
  • 32位:四个部分每个部分八个字节
  • DNS服务器:域名解析 将www.baidu.com类型的域名解析为对应的IP地址
  • search 对应的后台程序文件 php Java jsp
  • ?表示运行这个程序需要传递的参数
  • code是服务器端规定的字段
  • &如果有果个参数使用&符号连接
  • IP地址:唯一标识某一台电脑
  • 端口号:唯一标识电脑上的某一个进程(程序)80
  • 数据传输:TCP/IP协议
  • TCP:面向链接的 安全的 打电话
  • UDP:面向无链接的 不安全 但是快
  • 网络中的数据传输:Socket 实现->套接字
  • Socket
  • ServerSocket

1.创建用于通信的socket
指明和谁通信:ip地址 端口号

 Socket socket = new Socket("127.0.0.1",8989);

接收服务器端的数据

        BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

读取服务器端发来的数据

        String line = null;
        while ((line = br.readLine()) != null){
            System.out.println(line);
        }

客户端向服务器端发送数据

        PrintStream ps = new PrintStream(socket.getOutputStream());
        ps.println("你好啊");

1.创建服务器端的serverocket

        ServerSocket ss = new ServerSocket(8989);

2.获取连接的客户端的socket

        Socket clientSocket = ss.accept();

3.向客户端发送数据

        PrintStream ps = new PrintStream(clientSocket.getOutputStream());
        ps.println("登录成功");

4.接收客户端发来的数据

        BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
        String line = null;
        while ((line = br.readLine()) != null){
            System.out.println(line);

你可能感兴趣的:(网络编程)