关键词:
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语言上有不同的编写方式、时间复杂度和空间复杂度,适合需要不同操作类型的数据,如插入删除和顺序添加等不... 查看详情