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

伙购网官方网站安卓手机优化大师官方下载

伙购网官方网站,安卓手机优化大师官方下载,花钱也可以哪些网站可以做推广广告,乐从网站制作一、什么是网络编程 概述:在网络通信协议下,不同计算机上运行的程序,进行数据传输 应用场景:即时通信,网游对战,金融证券,国际贸易,邮件等等 不管什么场景,本质上都是计算…

一、什么是网络编程

概述:在网络通信协议下,不同计算机上运行的程序,进行数据传输

  • 应用场景:即时通信,网游对战,金融证券,国际贸易,邮件等等

    不管什么场景,本质上都是计算机跟计算机之间通过网络进行数据传输

常见的软件结构

  • C/S结构:客户端和服务器结构

在用户本地需要下载安装客户端程序,在远程有一个服务器端程序

C / S的优缺点:

​ 1、画面可以做的非常精美,用户体验好

​ 2、需要开发客户端,也需要开发服务端

​ 3、用户需要下载更新的时候太麻烦

  • B/S结构:浏览器和服务端结构

只需要一个浏览器,用户通过不同的地址,客户访问不同的服务器

 B / S的优缺点:

​ 1、不需要开发客户端

​ 2、用户不需要下载,打开浏览器就能使用

​ 3、如果应用过大,用户体验受到影响

通信三要素

  • IP地址:计算机的唯一标识,用于两台计算机之间的连接
  • 协议:数据在网络中传输的规则,常见的协议有TCP,UDP,http,ftp等
  1. TCP:面向连接协议,需要先确认连接,才能进行数据交互,数据安全,但效率低
  2. UDP:面向无连接协议,效率高但传输的数据不安全
  • 端口号:每一个应用程序的唯一标识

二、了解UDP协议和TCP协议

UDP协议

  • udp是无连接不可靠协议
  • 将数据源ip、目的地ip和端口号封装成数据包,不需要建立连接
  • 每个包再64kb内
  • 发送不管对方是否准备好,接收方收到也不确认,故是不可靠的
  • 可以广播发送,发送数据结束时无需释放资源,开销小,速度快
  • DatagramSocket->数据包对象,好比快递找的快递公司
  • DatagramPacket->发送端和接收端对象,好比快递公司打包

详细过程

1.发送端(客户端)

  • 创建DatagramSocket对象

a.空参:端口号从可用端口号随机一个使用

b.有参:自己指定

  • 创建DatagramPacket对象,将数据进行打包

a.要发送的数据->byte[]

b.指定接收端的IP

c.指定接收端的端口号

  • 发送数据
  • 释放资源
public  static void main(String[] args) throws IOException {DatagramSocket socket = new DatagramSocket();byte[] buf = "hello".getBytes();InetAddress address = InetAddress.getByName("127.0.0.1");int port=6666;DatagramPacket packet = new DatagramPacket(buf, buf.length, address, port);socket.send(packet);socket.close();}

直接执行发现发送端在没有接收端的情况下不会报错,因为UDP协议是面向无连接协议,不管是否有接收端,都会发送

2.接收端(服务端)

  • 创建DatagramSocket对象(指定服务器的端口号)
  • 接收数据包
  • 解析数据包
  • 释放资源
public class Recieve {public static void main(String[] args) throws IOException {DatagramSocket socket=new DatagramSocket(6666);byte[] buf=new byte[1024];//用于保存接收过来的数据DatagramPacket packet=new DatagramPacket(buf, buf.length);socket.receive(packet);byte[] data=packet.getData();//接收的数据int len=packet.getLength();//从数据包中获取多少个数据InetAddress address=packet.getAddress();//获取发送端的主机int port=packet.getPort();//发送端的端口号System.out.println(new String(data,0,len));System.out.println(address+":"+port);socket.close();}
}

TCP协议

  • 使用tcp协议必须建立连接,他是一种面向对象的可靠协议
  • 采用三次握手,四次挥手,所以可靠
  • 在连接中可进行大数据量传输
  • 连接、发送数据都需要确认,且传输完毕后,还需要释放自己建立的连接,通信效率低

三次握手和四次挥手 

1. 三次握手(建立连接)

  1. 第一次握手:客户端向服务器发送连接请求,等待服务器确认。

  2. 第二次握手:服务器向客户端发送响应,表示已收到连接请求。

  3. 第三次握手:客户端再次向服务器发送确认信息,完成连接建立。

作用:确保双方通信正常,防止无效连接请求。


2. 四次挥手(断开连接)

  1. 第一次挥手:客户端向服务器发送结束连接请求,进入半关闭状态(不再发送数据,但仍可接收数据)。

  2. 第二次挥手:服务器收到请求后,发送最后的数据,并通知上层应用停止接收数据。

  3. 第三次挥手:服务器发送释放连接报文,通知客户端可以正式断开。

第四次挥手:客户端收到后,回复最终确认报文,并等待2MSL(最长报文段生存时间)。

  • 等待原因:确保服务器收到确认,若超时未收到,服务器会重发释放请求。
  • 作用:确保数据完全传输,安全释放连接。

 客户端编写

Socket客户端对象

1.创建Socket客户端对象,指明服务端的IP和端口号

2.调用Socket对象中的getOutputStream获取输出流发送请求

3.调用Socket中的getInputStream获取输入流读取响应结果

4.关流

 public  static void main(String[] args) throws IOException {Socket socket = new Socket("127.0.0.1", 6666);OutputStream os= socket.getOutputStream();os.write("hello".getBytes());InputStream is = socket.getInputStream();byte[] buffer = new byte[1024];int len= is.read(buffer);System.out.println(new String(buffer,0,len));is.close();os.close();socket.close();}

服务端编写

ServerSocket服务端对象

1.创建ServerSocket对象,设置端口号

2.调用ServerSocket中的accept方法,等待客户端连接(该方法返回的是连接服务端的socket对象)

3.调用socket中的getInputStream,读取请求

4.调用socket中的getOutputStream,用于给客户端写响应

5.关流

public class Recieve {public static void main(String[] args) throws IOException {ServerSocket ss=new ServerSocket(6666);Socket s=ss.accept();InputStream is=s.getInputStream();byte[] b=new byte[1024];int len=is.read(b);System.out.println(new String(b,0,len));OutputStream os=s.getOutputStream();os.write("word".getBytes());os.close();is.close();s.close();ss.close();}
}
http://www.dtcms.com/wzjs/441481.html

相关文章:

  • wordpress如何修改博客模板郑州seo排名哪有
  • 内江规划建设教育培训中心网站厦门seo外包服务
  • 武汉营销类网站设计免费发广告帖子的网站
  • 门户网站建设分工的通知seo的重要性
  • 国外最开放的浏览器有什么优势中国seo网站
  • 杭州专业做网站的公司哪家好北京网站优化实战
  • 萍乡做网站免费顶级域名注册网站
  • 做新闻微网站有哪些方面社交网络的推广方法
  • 模仿网站百度知道问答
  • 遵义服务好的网站建设公司苏州旺道seo
  • 响应式营销网站淘宝搜索关键词技巧
  • 做网站要有什么功能湖南专业关键词优化
  • wordpress客户端建站腾讯广告联盟
  • 赤峰酒店网站建设哪家便宜今日百度小说排行榜风云榜
  • 平台网站建设后台源码深圳企业网站制作公司
  • 抖音代运营合同模板免费网站seo设计方案案例
  • 怎么做网站评论写一篇软文推广自己的学校
  • 毕业设计代做网站机械站牛网是做什么的
  • 网站建设时图片和文字百度知道提问
  • 网站建设网站建设哪里有免费发布产品的网站
  • 网站的建设方式吉林黄页电话查询
  • 公众号制作135网站如何优化
  • 刷信誉网站制作上海知名网站制作公司
  • 名词解释 网站内容免费网页制作模板
  • 东莞市领导班子深圳seo优化公司搜索引擎优化方案
  • 深圳市建设科技促进中心网站百度上做推广怎么做
  • 教学成果奖网站建设信息检索关键词提取方法
  • wordpress多語言主頁宁波seo服务快速推广
  • 可以做设计兼职的网站有哪些工作查企业信息查询平台
  • 嘉兴营销型网站东莞seo建站排名