网络编程-小结

淘淘瑞瑞 淘淘瑞瑞     2022-08-18     131

关键词:

1-----------------------------------------------------基本知识----------------------------------------------------------------

网络编程的三要素
        A:IP地址
            a:点分十进制
            b:IP地址的组成
            c:IP地址的分类
            d:dos命令
            e:InetAddress
        B:端口
            是应用程序的标识。范围:0-65535。其中0-1024不建议使用。
        C:协议

          (1)TCP/IP(传输控制协议 Transmission Control Protocol),互联网传输协议。建立数据通道,无限制,效率低,可靠

          (2)UDP (用户数据报协议 User Datagram Protocol),数据打包,有限制,不连接,效率高,不可靠

          (3)HTTP 超文本传输协议  默认端口:80

          (4)HTTPS 安全超级文本传输协议  默认端口:443

          (5)FTP(File Transfer Protocol)文件传输协议

 

2-----------------------------------------------------基本代码----------------------------------------------------------------

1、TCP协议是面向连接的、可靠的、有序的、以字节流的方式发送数据,通过三次握手方式建立连接,形成传输数据的通道,在连接中进行大量数据的传输,效率会稍低。

服务端

public class ServerSoc {

    public static void main(String[] args) throws IOException {
        
        /**
         * 基于TCP协议的Socket通信,实现用户登录,服务端
        */
        
        //1、创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口
        ServerSocket serverSocket =new ServerSocket(11111);//1024-65535的某个端口 、
        //2、调用accept()方法开始监听,等待客户端的连接
        while(true){
        Socket socket = serverSocket.accept();
        //3、获取输入流,并读取客户端信息
        InputStream is = socket.getInputStream();
        InputStreamReader isr =new InputStreamReader(is);
        BufferedReader br =new BufferedReader(isr);
        String info =null;
        while((info=br.readLine())!=null){
        System.out.println("我是服务器,客户端说:"+info);
        }
        socket.shutdownInput();//关闭输入流
        //4、获取输出流,响应客户端的请求
        OutputStream os = socket.getOutputStream();
        PrintWriter pw = new PrintWriter(os);
        pw.write("欢迎您!");
        pw.flush();
        }
    }
}

客户端

public class ClientSoc {

    public static void main(String[] args) {
        
        try {
            //客户端
            //1、创建客户端Socket,指定服务器地址和端口
            Socket socket =new Socket("127.0.0.1",11111);
            //2、获取输出流,向服务器端发送信息
            OutputStream os = socket.getOutputStream();//字节输出流
            PrintWriter pw =new PrintWriter(os);//将输出流包装成打印流
            pw.write("用户名:admin;密码:123");
            pw.flush();
            socket.shutdownOutput();
            //3、获取输入流,并读取服务器端的响应信息
            InputStream is = socket.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            String info = null;
            while((info=br.readLine())!= null){
             System.out.println("我是客户端,服务器说:"+info);
            }
            
        }catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

网络知识点小结

1.域名服务的工作流程:2.NAT虚拟网络配置3.桥接和仅主机模式配置  查看详情

安全小结

1、网络安全理论 2、网络安全文字(大白话说服他人)https://www.cnblogs.com/andy9468/p/10944415.html 3、网络安全工具 4、网络安全开源工具 5、网络安全案例 6、网络安全参考  查看详情

网络流小结

...脆把Dinic,ISAP和预流推进都重新看了一遍,写了个简洁的小结(基本上就是给自己看的) 网络流剩余图顶点的层次:源点到点的最短路径长度层次图建立在剩余图基础上阻塞流:不存在增广路时 FF复杂度O(n*m*u)容量网络、... 查看详情

接口式编程小结

 1、接口式编程   原生:      Dao    =======》  DaoImpl  mybatis:    Mapper =======》  xxMapper.xml2、Sq1Ses 查看详情

网络爬虫小结

    Python中可以用来爬取网络数据的库有很多,常见的有:urllib、urllib2、urllib3、requests、scrapy、selenium等。    基本上可以分为3类:      第一类:urllib、urllib2、urllib3、re 查看详情

计算机网络~概述小结

前言·计算机网络“三网”:电信网络,有线电视网络,计算机网络。如今,出现了网络融合,比如:有线电视网络和计算机网络的融和,让我们可以在网络上收看电视直播。计算机网络:两台以上独立的前端设备,通过通信设... 查看详情

xshell编程小结

初步学完shell脚本编程,通过这篇博客对其小结一下shell定义:shell其实是一个命令解释器,它的作用是解释用户输入的命令和程序shell脚本:我们可以在文本中输入一系列的命令、控制语句和变量,这一切有机的结合起来就形成了... 查看详情

java编程入门小结

Java编程入门小结Java发展历史 1.oak:java的前身,1991年出现 2.基于C++开发的新语言,主要用于嵌入式开发 3.之后产生了HotJava浏览器Java的可移植性/跨平台性java源程序*.java由编译器编译生成*.class文件*.class文件可运行在... 查看详情

java编程入门小结

Java编程入门小结Java发展历史 1.oak:java的前身,1991年出现 2.基于C++开发的新语言,主要用于嵌入式开发 3.之后产生了HotJava浏览器Java的可移植性/跨平台性java源程序*.java由编译器编译生成*.class文件*.class文件可运行在... 查看详情

计算机网络知识小结

    (1)网络的各个层物理层: RJ45 、 CLOCK 、 IEEE802.3 (中继器,集线器,网关) - 数据链路: PPP 、 FR 、 HDLC 、 VLAN 、 MAC&nb 查看详情

java并发编程小结

旭日Follow_24的CSDN博客,全文地址请点击:https://blog.csdn.net/xuri24/article/details/82078467线程简介:线程是操作系统调度的最先单元,进程:线程=1:N关系,也就是说一个进程可以创建多个线程,至少包含一个线程。多线程可以最大限... 查看详情

后端结对编程小结(6.6)

邹卫其、陈志锴任务进度报告:按照前一篇前端给出的数据库需求文档(link),用navicat新建了数据库表,如下图并且利用逆向工程generator,生成了数据库接口方法,实现了对两个数据表的插入。任务安排:继续跟踪前端数据库... 查看详情

《位置计算:无线网络定位》学习小结

第一章:无线定位概述单跳定位:WiFi,GPS,NBIOT等单跳网络结构的定位多跳定位:传感网、物联网等无线自组织网络的网络定位(多跳定位) 无论何种定位技术,都离不开以下3个主要环节:(1)物理测量。对物理世界的测... 查看详情

并发编程学习小结

    前段时间由于项目需要,自己设计了个线程池的框架,结合工厂模式,能够支持业务根据各自业务量的需要,定制自己线程池的大小。虽然通过这个对并发编程已经有了一定的了解,但是个人认为自己目... 查看详情

并发编程学习小结

    前段时间由于项目需要,自己设计了个线程池的框架,结合工厂模式,能够支持业务根据各自业务量的需要,定制自己线程池的大小。虽然通过这个对并发编程已经有了一定的了解,但是个人认为自己目... 查看详情

图神经网络小结

图神经网络小结图神经网络小结图神经网络分类GCN:由谱方法到空域方法GCN概述GCN的输出机制GCN的不同方法基于谱方法的GCN初始切比雪夫K阶截断:ChebNet一阶ChebNet自适应图卷积网络AGCN谱方法小结基于空域方法GCN基于递归的空间GCN(Re... 查看详情

结对编程小结与收获

1.初始设计: 在拿到项目需求之后,我和伙伴经过讨论最终决定做一个javaweb小项目来实现需求。登录注册部分,初始的账户沿用了个人项目的几个固定用户,注册部分注册成功后直接进入系统(注册不用存入数据库)选择试... 查看详情

第二章小结

小结:学习了有关线性表的知识,线性表主要有两种存储结构,链式存储结构和顺序存储结构,两种结构分别在c语言上有不同的编写方式、时间复杂度和空间复杂度,适合需要不同操作类型的数据,如插入删除和顺序添加等不... 查看详情