首页 > 编程语言 > 详细

Java--网络编程--知识总结

时间:2021-07-23 23:41:52      阅读:35      评论:0      收藏:0      [点我收藏+]
  1. 网络概念的介绍:
    1. 技术分享图片
    2. 技术分享图片

  2. IP地址的概念介绍:

    1. 技术分享图片

    2. 技术分享图片

    3. 技术分享图片

  3. 域名和端口号
    1. 技术分享图片
    2. 技术分享图片

  4. 网络协议:

    1. 技术分享图片

    2. 技术分享图片
    3. 技术分享图片

  5.  TCP与UDP协议的区别(传输层):

    1. 技术分享图片

  6.  InterAddress:

    1. 技术分享图片

    2. package com.model.mehtod;
      
      import java.net.InetAddress;
      import java.net.UnknownHostException;
      import java.util.Arrays;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/7/23 20:18
       * 演示 常用方法 InetAddress 类的使用
       */
      public class MethodDemo01 {
          public static void main(String[] args) throws UnknownHostException {
      //        1.获取本机的InetAddress对象
              InetAddress localHost=InetAddress.getLocalHost();//获取本机的InetAddress对象
              System.out.println(localHost);//DESKTOP-EU9P6DM/192.168.56.1
      //          2.根据主机名,获取到InetAddress对象
              InetAddress host1 = InetAddress.getByName("DESKTOP-EU9P6DM");
              System.out.println(host1);//DESKTOP-EU9P6DM/192.168.56.1
      //        根据ip地址获取到对应
              InetAddress byAddress = InetAddress.getByAddress("192.168.56.1", new byte[4]);
              System.out.println(byAddress);//192.168.56.1/0.0.0.0
      
      //        3.根据域名获取到InetAddress对象
              InetAddress allByName = InetAddress.getByName("www.baidu.com");
              System.out.println(allByName);//www.baidu.com/220.181.38.150
      //        4.通过InetAddress对象获取到,对应的地址
              String hostAddress = localHost.getHostAddress();
              System.out.println(hostAddress);//192.168.56.1
      //          5.通过InetAddress获取到主机名/或者是域名
              String hostName = localHost.getHostName();
              System.out.println(hostName);//DESKTOP-EU9P6DM
      
          }
      }
  7. Socket:

    1. 技术分享图片

    2. 技术分享图片
    3. 技术分享图片

  8. TCP网络编程:

    1. 技术分享图片

    2. package com.model.socket;
      
      import java.io.IOException;
      import java.io.InputStream;
      import java.net.ServerSocket;
      import java.net.Socket;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/7/23 20:52
       * 使用Socket(套接字)实现 TCP字节流编程实现
       */
      public class SocketDemo01 {
      //    服务端代码实现,监听9999端口号
          public static void main(String[] args) throws IOException {
      //       1. 新建服务端的Socket,并监听9999端口号
      //        细节:要求本机没有其他的服务在监听9999端口号
      //        细节:这个serverSocket额可以通过accept()方法返回多个  Socket【多个客户端连接服务器的并发】
              ServerSocket serverSocket = new ServerSocket(9999);//一个serverSocket可以产生多个socket
              System.out.println("服务端新建套接字,监听9999端口号,等待客户端连接");
      //        2.进入到监听状态,当没有客户端连接时,程序会阻塞,等待连接
      //        知道有客户端连接,会将socket对象返回,继续执行后面的程序
              Socket socket = serverSocket.accept();//一次accept产生一个socket,供给一个客户端连接,可以产生多个socket共客户端连接
              System.out.println("有客户端连接成功:"+socket.getClass());
      //        3.通过socket获得字节输入流
              InputStream inputStream = socket.getInputStream();
      //        4.通过字节输入流,读取数据
              byte[] bytes = new byte[1024];
              int len=0;
              while((len=inputStream.read(bytes))!=-1){
                  System.out.println("客户端发送过来的消息:"+new String(bytes, 0, len));
              }
      //        5.关闭流
              inputStream.close();
              socket.close();
              serverSocket.close();
      
      
          }
      }
    3. package com.model.socket;
      
      import java.io.IOException;
      import java.io.OutputStream;
      import java.net.InetAddress;
      import java.net.Socket;
      import java.net.UnknownHostException;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/7/23 21:06
       * Socket套接字
       * 实现TCP编程
       */
      public class SocketDemo02 {
      //    客户端的代码实现
          public static void main(String[] args) throws IOException {
      //        1.获得连接,的到socket对象
              Socket socket = new Socket(InetAddress.getLocalHost(), 9999);
              System.out.println("客户端连接成功,获得socket对象:"+socket.getClass());
      //        2.连接成功后,通过socket,的到字节输出流,向服务端发送数据
              OutputStream outputStream = socket.getOutputStream();
      //        3.通过字节输出流对象,想Socket通道中写入数据
              outputStream.write("hello,zzh".getBytes());
              System.out.println("客户端退出~");
      //        4.关闭流和socket
              outputStream.close();
              socket.close();
          }
      }
  9. TCP网络编程2

    1. 技术分享图片

    2. 技术分享图片

    3. package com.model.socket;
      
      import java.io.IOException;
      import java.io.InputStream;
      import java.io.OutputStream;
      import java.net.ServerSocket;
      import java.net.Socket;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/7/23 20:52
       * 使用Socket(套接字)实现 TCP字节流编程实现2
       */
      public class SocketDemo03 {
      //    服务端代码实现,监听9999端口号
          public static void main(String[] args) throws IOException {
      //       1. 新建服务端的Socket,并监听9999端口号
      //        细节:要求本机没有其他的服务在监听9999端口号
      //        细节:这个serverSocket额可以通过accept()方法返回多个  Socket【多个客户端连接服务器的并发】
              ServerSocket serverSocket = new ServerSocket(9999);//一个serverSocket可以产生多个socket
              System.out.println("服务端新建套接字,监听9999端口号,等待客户端连接");
      //        2.进入到监听状态,当没有客户端连接时,程序会阻塞,等待连接
      //        知道有客户端连接,会将socket对象返回,继续执行后面的程序
              Socket socket = serverSocket.accept();//一次accept产生一个socket,供给一个客户端连接,可以产生多个socket共客户端连接
              System.out.println("有客户端连接成功:"+socket.getClass());
      //        3.通过socket获得字节输入流
              InputStream inputStream = socket.getInputStream();
      //        4.通过字节输入流,读取数据
              byte[] bytes = new byte[1024];
              int len=0;
              while((len=inputStream.read(bytes))!=-1){
                  System.out.println("客户端发送过来的消息:"+new String(bytes, 0, len));
              }
      //        4.1 回去客户端一个消息
              System.out.println("回复了一个消息");
              OutputStream outputStream = socket.getOutputStream();
              outputStream.write("hello,client".getBytes());
      //        设置输出结束标志
              socket.shutdownOutput();
      //        5.关闭流
              outputStream.close();
              inputStream.close();
              socket.close();
              serverSocket.close();
      
      
          }
      }
    4. package com.model.socket;
      
      import java.io.IOException;
      import java.io.InputStream;
      import java.io.OutputStream;
      import java.net.InetAddress;
      import java.net.Socket;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/7/23 21:06
       * Socket套接字
       * 实现TCP编程2
       */
      public class SocketDemo04 {
      //    客户端的代码实现
          public static void main(String[] args) throws IOException {
      //        1.获得连接,的到socket对象
              Socket socket = new Socket(InetAddress.getLocalHost(), 9999);
              System.out.println("客户端连接成功,获得socket对象:"+socket.getClass());
      //        2.连接成功后,通过socket,的到字节输出流,向服务端发送数据
              OutputStream outputStream = socket.getOutputStream();
      //        3.通过字节输出流对象,想Socket通道中写入数据
              outputStream.write("hello,zzh".getBytes());
      //        设置输出结束标志
              socket.shutdownOutput();
      
      //        3.1读取到服务端回复的消息
              InputStream inputStream = socket.getInputStream();
              byte[] buff=new byte[1024];
              int readLen=0;
              while ((readLen=inputStream.read(buff))!=-1){
                  System.out.println("读取服务端回父的消息"+new String(buff,0,readLen));
              }
              System.out.println("客户端退出~");
      //        4.关闭流和socket
              outputStream.close();
              socket.close();
          }
      }
  10. TCP网络编程3:

    1. 技术分享图片

    2. 技术分享图片

       

       

       

       

         

       

Java--网络编程--知识总结

原文:https://www.cnblogs.com/zzhAylm/p/15045734.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!