当前位置: 首页 > news >正文

做网站卖东西流程工程分包信息平台

做网站卖东西流程,工程分包信息平台,湖南省建设厅,网页设计培训教程#x1f468;‍#x1f393;作者简介#xff1a;一位大四、研0学生#xff0c;正在努力准备大四暑假的实习 #x1f30c;上期文章#xff1a;JAVASE进阶#xff1a;高级写法——方法引用#xff08;Mybatis-Plus必学前置知识#xff09; #x1f4da;订阅专栏#x… ‍作者简介一位大四、研0学生正在努力准备大四暑假的实习 上期文章JAVASE进阶高级写法——方法引用Mybatis-Plus必学前置知识 订阅专栏JAVASE进阶 希望文章对你们有所帮助 其实我认为javase中的File流、I/O流字节流、字符流等都是很重要的但是内容很多就没有具体去做总结了不过这里总结的网络编程中也会用到I/O流中的不少思想大家可以边学习网络编程边了解I/O流编程对于I/O流大家需要自行去系统学习或回顾。 网络编程编程实现TCP、UDP传输 网络编程介绍网络编程三要素三要素——IPipv4的一些细节InetAddress类的使用 三要素——端口号三要素——协议 UDP协议编程发送数据接收数据 TCP协议编程发送数据接收数据 三次握手和四次挥手 网络编程介绍 网络编程就是在网络通信协议下不同计算机上运行的程序进行的数据传输。java中可以使用java.net包下的技术轻松开发出常见的网络应用程序。 常见的软件架构有两种即B/S架构浏览器/服务器和C/S架构客户端/服务器。 B/S架构无需开发客户端只需要页面服务端用户不需要下载打开浏览器就能使用但若应用过大 用户体验就会受到影响。 C/S架构的画面可以做的更精美用户体验更好但需要开发客户端也需要开发服务端且用户时不时的要更新。 网络编程三要素 IP设备在网络中的地址是唯一的标识 端口号应用程序在设备中唯一的标识 协议数据在网络中传输的规则常见协议有UDP、TCP、http、https、ftp 三要素——IP IP全称Internet Protocol是互联网协议地址也称IP地址是分配给上网设备的数字标签常见的IP分为ipv4和ipv6。 1、ipv4采用32位地址长度分为4组采用点分十进制表示法最多只有2^32目前已经分配完毕 2、ipv6采用128位地址长度分为8组采用冒分十六进制表示法如果计算出的十六进制表示形式中间有多个连续的0就可以接着采用0位压缩表示法有一些计网的基础看名字都挺容易理解的如果有点模糊可以自行去查阅最多有2^128个IP可以为地球上的每一粒沙子分配IP。 ipv4的一些细节 实际上ipv6还没有普及而ipv4明明已经分配完但是我们还是主要使用了ipv4。 ipv4的地址可以分为公网地址万维网用和私有地址局域网用192.168.0.0-192.168.255.255是私有地址的范围。 localhost127.0.0.1是回送地址或本地回环地址只会寻找当地所在本机。 考虑一个问题若192.168.177.130是我电脑的IP那么这个IP和127.0.0.1是否一致 答案不一致因为不同的局域网分配给我的IP是不一致的所以平时写demo最好用127.0.0.1或localhost 常用cmd命令 ipconfig查看本地ip地址 ping检查网络是否连通 InetAddress类的使用 InetAddress底层分别有针对ipv4网络和ipv6网络的InetAddress本身没有构造方法需要使用它的静态方法getByName去获取到对象这个方法的底层就会判断我们的ip使用是ipv4还是ipv6的。 其基本使用代码如下 //获取InetAddress对象可以传递ip地址或主机名 InetAddress address InetAddress.getByName(192.168.177.130); //获取这个IP的主机名 String name address.getHostName(); //获取IP值 String name address.getHostAddress();三要素——端口号 端口号是应用程序在设备中唯一的标识是由2个字节表示的整数取值范围0-65535。 其中0-1023之间的端口号用于一些知名的网络服务或应用我们自己使用1024以上的端口号就可以了需要注意一个端口号只能被一个应用程序使用。 三要素——协议 计算机网络中连接和通信的规则被称为网络通信协议。最初使用的OSI参考模型物链网传会表应太理想化事实上的国际标准为TCP/IP参考模型物理链路层、网络层、传输层、应用层这些在学习计算机网络的时候都学习过。 每一层都会有一些相应的协议 应用层HTTP、FTP、TelNet、DNS 传输层TCP、UDP 网络层IP、ICMP、ARP 物理链路层硬件设备二进制数 在这里我们将会学习TCP、UDP协议并且进行演示。 UDP协议 1、用户数据报协议 2、UDP是面向无连接的通信协议。 3、速度快有大小限制一次最多发送64K数据不安全易丢失数据 TCP协议 1、传输控制协议 2、TCP是面向连接的通信协议 3、速度慢但没有大小限制数据安全 UDP协议编程 UDP协议的发送数据、接收数据都需要用到DatagramSocket类。 发送数据 发送的数据是字节数组形式因此需要将字符串转化为字节数组然后接收方把字节数组再转化回来。 public class SendMessageDemo {public static void main(String[] args) throws IOException {/*** 创建DatagramSocket对象可以直接指定端口那么以后就通过这个端口往外发送数据* 若是空参构造将会在所有可用的端口中随机指定一个进行使用*/DatagramSocket ds new DatagramSocket();/*** 打包数据ds的send方法需要DatagramPacket对象表示包装数据* DatagramPacket需要的参数* 1、要发送的数据byte数组形式* 2、开始索引非必要* 3、长度* 4、要发送的地址* 5、端口号*///要发送的数据String str 孩儿立志出乡关学不成名誓不还;byte[] bytes str.getBytes();//要发送的地址InetAddress address InetAddress.getByName(127.0.0.1);//指定发送到哪个端口发送方端口可以不确定但是发送到哪个端口要指定int port 10086;//打包数据DatagramPacket packet new DatagramPacket(bytes, bytes.length, address, port);/*** 发送数据*/ds.send(packet);/*** 释放资源*/ds.close();} }接收数据 public class ReceiveMessageDemo {public static void main(String[] args) throws IOException {/*** 创建DatagramSocket对象端口号必须指定成是之前发送的10086端口*/DatagramSocket ds new DatagramSocket(10086);/*** 新建一个箱子用于接收数据无需再指定地址和端口号因为ds已经指定了*///空箱子byte[] bytes new byte[1024];DatagramPacket packet new DatagramPacket(bytes, bytes.length);/*** 使用receive方法取出数据该方法是阻塞的如果没有消息发出这个方法就一直等待*/ds.receive(packet);/*** 解析数据*///发过来的数据是什么byte[] data packet.getData();//发送过来的数据的长度如何int length packet.getLength();//是从哪个地址以及端口号传输过来的数据InetAddress address packet.getAddress();int port packet.getPort();System.out.println(new String(data, 0, length));System.out.println(该数据是从 address 中的 port 这个端口发出的);/*** 释放资源*/ds.close();} }TCP协议编程 TCP传输中发送数据客户端需要定义Socket对象而接受数据服务器端需要定义ServerSocket对象。 由于TCP传输需要使用I/O流相关函数所以还需要注意好中文的乱码问题当读取数据的时候不能再使用字节流来读取了因为一个中文对应着两个字节按字节流读取会发生乱码应当使用字符流读取。 发送数据 根据I/O流的相关知识要写数据需要用到输出流OutputStream public class Client {public static void main(String[] args) throws IOException {/*** 创建Socket对象创建对象的同时会连接服务器若连接不上则会报错*/Socket socket new Socket(127.0.0.1, 9999);/*** 从连接通道中获取输出流并可以写出数据*/OutputStream outputStream socket.getOutputStream();//写出数据outputStream.write(哈哈.getBytes());/*** 释放资源*/outputStream.close();socket.close();} }接收数据 public class Server {public static void main(String[] args) throws IOException {/*** 创建ServerSocket对象*/ServerSocket serverSocket new ServerSocket(9999);/*** 监听客户端的连接底层是阻塞式*/Socket socket serverSocket.accept();/*** 从连接通道中获取输入流来读取数据拆分代码如下* InputStream inputStream socket.getInputStream();* //转换成字符流因为一个汉字对应2个字节用字节读取会乱码* InputStreamReader inputStreamReader new InputStreamReader(inputStream);* //利用缓存流提高效率* BufferedReader bufferedReader new BufferedReader(inputStreamReader);*///写在一行BufferedReader bufferedReader new BufferedReader(new InputStreamReader(socket.getInputStream()));int b;while((b bufferedReader.read()) ! -1){System.out.print((char) b);}/*** 释放资源注意需要先释放socket才能释放serverSocket需要保证数据处理完毕*/socket.close();serverSocket.close();} }三次握手和四次挥手 三次握手需要保证连接的建立流程如下 1、客户端向服务器端发送连接请求等待服务器确认 2、服务器端向客户端返回一个确认信息告诉客户端收到了请求 3、客户端向服务器再次发送确认信息确认了他的确认连接建立 四次挥手的作用是确认连接断开且数据处理完毕流程如下 1、客户端向服务器发出取消连接请求 2、服务器向客户端返回一个响应表示收到客户端取消请求不是确认请求 3、服务器将最后的数据处理完毕 4、服务器向客户端发出确认取消信息 5、客户端再次发送确认消息连接取消 重点是挥手的2次确认信息发出之前必须要让服务端把消息都处理完毕。
http://www.zqtcl.cn/news/861111/

相关文章:

  • 科技网站有哪些wordpress代码编辑器件
  • 做英文企业网站多钱钱wordpress调用外链图片
  • 自学网站查分数西双版纳傣族自治州天气
  • 网站建设一个多少钱wordpress朗读句子插件
  • 网站关键词怎么填写找代理商的渠道有哪些
  • 网站开发销售简历范文新建网站网络空间
  • 舟山外贸建站公司制作公司简介
  • 菜鸟是什么网站威海网站建设费用
  • 网站开发花费如何制作个人网页兼职
  • 网站鼠标特效用户体验最好的网站
  • 网站设计步骤图南通网站建设公司
  • 做盗版系统网站会不会开发次元世界
  • 下载爱南宁官方网站手机app开发软件有哪些
  • 云浮网站设计不收费的企业查询网站
  • 网站栏目怎么做iis网站筛选器被挂马
  • 网站开发中遇到的主要问题品牌营销策略包括哪些内容
  • 网站制作易捷网络十大社区团购平台有哪些
  • 哈尔滨口碑好的建站公司做网站制作一般多少钱
  • 河南网站网站制作华为品牌vi设计
  • 网站设置默认主页甘肃省第八建设集团公司网站
  • 自己做网站美工关键词优化排名网站
  • 淄博手机网站建设报价商业网站地方频道
  • 小说网站开发业务逻辑php 网站
  • 专业的做网站动态个人网站模板
  • 设计师网站设计网站开发试题库
  • 做网站是用c 吗东莞网络推广优化
  • 外贸soho网站建设wordpress配置搜索引擎优化
  • 嘉兴网站公司安卓优化大师2023
  • 电影网站开发影院座位问题正能量网站大全
  • dede手机网站更新成安专业做网站