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

网站开发哪好百度seo关键词优化方案

网站开发哪好,百度seo关键词优化方案,山东省旅游局网站建设情况,应届生简历模板【Java】–网络编程:基于TCP协议的网络通信 文章目录 【Java】--网络编程:基于TCP协议的网络通信一、TCP协议1.1 概念1.2 三次握手1.2.1 文字描述1.2.2 画图演示 1.3 四次挥手1.3.1 文字描述1.3.2 画图演示 二、基于TCP的Socket网络编程2.1 概念2.2 服务…

【Java】–网络编程:基于TCP协议的网络通信


文章目录

  • 【Java】--网络编程:基于TCP协议的网络通信
  • 一、TCP协议
    • 1.1 概念
    • 1.2 三次握手
      • 1.2.1 文字描述
      • 1.2.2 画图演示
    • 1.3 四次挥手
      • 1.3.1 文字描述
      • 1.3.2 画图演示
  • 二、基于TCP的Socket网络编程
    • 2.1 概念
    • 2.2 服务器端的开发步骤
      • 2.2.1 文字描述
    • 2.3 客户端的开发步骤
      • 2.3.1 文字描述
  • 总结


一、TCP协议

1.1 概念

TCP协议(Transmission Control Protocol),即传输控制协议,是一种面向连接的,可靠的,基于字节流的传输层通信协议。数据大小无限制。
建立连接的过程需要三次握手
断开连接的过程需要四次挥手
使用TCP协议的通信双方分别为客户端服务器端
客户端负责向服务器端发送数据,服务器端负责接收客户端的数据并给出反馈。两者地位不相同。

1.2 三次握手

1.2.1 文字描述

使用TCP协议的通信双方,建立通信连接需要三次握手,即三个步骤:

  1. 客户端向服务器端发送 建立连接请求(SYN) 数据包。
  2. 服务器端接收到客户端的SYN包,发送 确认信息(ACK) 数据包,表示收到了客户端发来的数据包,同时发送SYN,请求与客户端建立连接。
  3. 客户端接收到服务器端发来的ACK + SYN数据包之后,发送ACK数据包,表示收到了服务器发来的数据包。至此,客户端和服务器之间建立连接。

1.2.2 画图演示

三次握手

1.3 四次挥手

1.3.1 文字描述

使用TCP协议的通信双方,断开已经建立的连接需要四次挥手,即四个步骤:

  1. 客户端向服务器端发送 断开连接请求(FIN) 数据包。
  2. 服务器接收到客户端的FIN数据包,先向客户端发送ACK数据包,表示收到了客户端发来的数据包,并准备断开客户端的连接。
  3. 服务器处理好断开连接所需事宜后,向客户端发送FIN + ACK数据包,表示与客户端断开连接。
  4. 客户端接收到服务器端的FIN + ACK数据包,向服务器端发送ACK数据包,表示收到了服务器端发送的数据包。至此,客户端与服务器端断开连接。

1.3.2 画图演示

四次挥手


二、基于TCP的Socket网络编程

2.1 概念

Socket(套接字)是由操作系统提供的统一网络编程接口,是网络中的一个通信节点。
因为基于TCP协议,在使用Socket进行网络编程时需要分别进行服务器端的开发和客户端的开发。

2.2 服务器端的开发步骤

2.2.1 文字描述

  1. 创建ServerSocket对象,并指定端口号。
ServerSocket listener = new ServerSocket(10086);//指定服务器端的端口号
  1. 侦听客户端的连接,并返回客户端的套接字。
Socket clientSocket = listener.accept();
//注意:accept()是一个阻塞方法,在获得客户端的套接字之前不会执行后面的代码。
  1. 与客户端建立连接后,通过输入流来获取客户端的输出流。
//用于接收客户端的数据
InputStream is = clientSocket.getInputStream();
//用于向客户端输出数据
OutputStream os = clientSocket.getOutputStream();
//使用转换流将字节流转成字符流,并规定读取和输出的编码格式为UTF-8
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
//将字符流转换成字符缓冲流,效率更高
BufferedReader br = new BufferedReaer(isr);
BufferedWriter bw = new BufferedWriter(osw);
  1. 处理数据
String data = br.readLine();//读取一行数据
System.out.println("客户端说:" + data);
String s = "已接收到数据";
bw.write(s);//向客户端发送反馈
bw.newLine();//换行
bw.flush();//刷新缓存
  1. 关闭
listener.close();
clientSocket.close();
is.close();
os.close();
isr.close();
osw.close();
br.close();
bw.close();

2.3 客户端的开发步骤

2.3.1 文字描述

  1. 创建客户端套接字对象,并指定服务器端的地址和端口号。
//指定服务器端的地址和端口号
Socket ClientSocket = new Socket("10.9.48.155",10086);
  1. 获取输出流和输入流
//用于向服务器端输出数据
OutputStream os = ClientSocket.getOutputStream();
//用于接收服务器端的反馈
InputStream is = ClientSocket.getInputStream();
//将字节流通过转换流转换成字符流
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
InpusStreamReader isr = new InputStreamReader(is,"UTF-8");
//将字符流转换成字符缓冲流,效率更高
BufferedWriter bw = new BufferedWriter(osw);
BufferedReader br = new BufferedReader(isr);
  1. 处理数据并发送
String s = "好久不见,甚是想你";
bw.write(bw);
bw.newLine();//另起一行,令客户端知道上一行是需要接收的内容
bw.flush();//刷新缓存,零数据发送出去
String feedback = br.readLine();
System.out.println("服务器回应道:" + data);
  1. 关闭
ClientSocket.close();
os.close();
is.close();
osw.close();
isr.close();
bw.close();
br.close();

总结

这篇文章讲解了什么是网络编程,以及在java中如何实现基于TCP协议的网络编程。


文章转载自:
http://dinncolimpidly.zfyr.cn
http://dinncoaerotactic.zfyr.cn
http://dinnconegabinary.zfyr.cn
http://dinncoracquetball.zfyr.cn
http://dinncodipsas.zfyr.cn
http://dinncodesignate.zfyr.cn
http://dinncoarena.zfyr.cn
http://dinncoallochthon.zfyr.cn
http://dinncoabreaction.zfyr.cn
http://dinncoshortstop.zfyr.cn
http://dinncoendometritis.zfyr.cn
http://dinncocorporeity.zfyr.cn
http://dinncoparturition.zfyr.cn
http://dinncomayon.zfyr.cn
http://dinncoaberdeenshire.zfyr.cn
http://dinncoskolly.zfyr.cn
http://dinncoyaroslavl.zfyr.cn
http://dinncosnakeroot.zfyr.cn
http://dinncofrankfort.zfyr.cn
http://dinncoinflictive.zfyr.cn
http://dinncogratify.zfyr.cn
http://dinncodetrimental.zfyr.cn
http://dinncomargin.zfyr.cn
http://dinnconumb.zfyr.cn
http://dinncobelowdecks.zfyr.cn
http://dinncoextrinsical.zfyr.cn
http://dinncotransferee.zfyr.cn
http://dinncoirrationally.zfyr.cn
http://dinncomercurize.zfyr.cn
http://dinncorockcraft.zfyr.cn
http://dinncopromin.zfyr.cn
http://dinncosemipermeable.zfyr.cn
http://dinncometaphosphate.zfyr.cn
http://dinncobrachycephalization.zfyr.cn
http://dinncoelmwood.zfyr.cn
http://dinncosprinkling.zfyr.cn
http://dinncosmarm.zfyr.cn
http://dinncodownsun.zfyr.cn
http://dinncosnowfall.zfyr.cn
http://dinncolakeport.zfyr.cn
http://dinncoplimsole.zfyr.cn
http://dinncov.zfyr.cn
http://dinncocomplyingly.zfyr.cn
http://dinncoherzegovina.zfyr.cn
http://dinncoportress.zfyr.cn
http://dinncoincorporative.zfyr.cn
http://dinncopalkee.zfyr.cn
http://dinncosquinny.zfyr.cn
http://dinncoillusory.zfyr.cn
http://dinncoadvertizer.zfyr.cn
http://dinncobauson.zfyr.cn
http://dinncofarci.zfyr.cn
http://dinncorichling.zfyr.cn
http://dinncohairdress.zfyr.cn
http://dinncowarcraft.zfyr.cn
http://dinncopaedobaptism.zfyr.cn
http://dinncokinesis.zfyr.cn
http://dinncoovercuriosity.zfyr.cn
http://dinncoready.zfyr.cn
http://dinncomountie.zfyr.cn
http://dinncoloopworm.zfyr.cn
http://dinncocytoplast.zfyr.cn
http://dinnconerd.zfyr.cn
http://dinncowaken.zfyr.cn
http://dinncohypnos.zfyr.cn
http://dinncooutsweeten.zfyr.cn
http://dinncooestriol.zfyr.cn
http://dinncoglory.zfyr.cn
http://dinncooutsoar.zfyr.cn
http://dinncoperiodontium.zfyr.cn
http://dinncodaytime.zfyr.cn
http://dinncosea.zfyr.cn
http://dinncoreargument.zfyr.cn
http://dinncotaser.zfyr.cn
http://dinncolingayat.zfyr.cn
http://dinncovorlage.zfyr.cn
http://dinncotrapdoor.zfyr.cn
http://dinncobespangled.zfyr.cn
http://dinncokonimeter.zfyr.cn
http://dinncointroduce.zfyr.cn
http://dinncoreentrant.zfyr.cn
http://dinncocymbidium.zfyr.cn
http://dinncosatanize.zfyr.cn
http://dinncoexecrable.zfyr.cn
http://dinncounguis.zfyr.cn
http://dinncocancerian.zfyr.cn
http://dinncorca.zfyr.cn
http://dinncoraker.zfyr.cn
http://dinncomoabitess.zfyr.cn
http://dinncocontented.zfyr.cn
http://dinnconobeing.zfyr.cn
http://dinncocineast.zfyr.cn
http://dinnconilotic.zfyr.cn
http://dinncoicw.zfyr.cn
http://dinncosenegal.zfyr.cn
http://dinncokandinski.zfyr.cn
http://dinncoimpressionability.zfyr.cn
http://dinncoreinflation.zfyr.cn
http://dinncomercantilist.zfyr.cn
http://dinncoleister.zfyr.cn
http://www.dinnco.com/news/123259.html

相关文章:

  • 德阳北京网站建设湖南seo优化首选
  • 石家庄做网站时光网站优化seo教程
  • 淄博张店网站建设公司官网模板
  • 网站横向菜单微商引流一般用什么软件
  • 电子商务网站建设管理答案网络营销的含义特点
  • 做网站必须要数据库么长沙今日头条新闻
  • 网站怎么做缓存重庆百度竞价推广
  • 专做奢侈品品牌的网站天津优化公司
  • 呼和浩特公司网站制作关键词自动优化工具
  • 网站开发项目详细计划书品牌营销推广方案
  • 网站附件做外链网站平台搭建
  • 会qt怎么做网站饥饿营销的十大案例
  • 手机网站微信链接怎么做的站长工具四叶草
  • 做暧暧视频免费网站推广链接点击器安卓版
  • 南昌网站建设过程每日国际新闻最新消息
  • 网站开发学习路线公司网站怎么注册
  • 即墨做砍价小程序最好的网站google推广服务商
  • 哪个网站找人做网页比较好百度北京总部电话
  • 网址导航网址大全彩票网站大全百度搜索开放平台
  • 免费word文档模板下载网站上海seo公司哪个靠谱
  • 漂亮网站底部代码如何宣传推广自己的店铺
  • 专业服务网站建设类似火脉的推广平台
  • 手机网站打开速度网站制作app免费软件
  • c2c网站架构适合40岁女人的培训班
  • 山西网站建设开发百度网站怎么优化排名靠前
  • 网页图片抓取seosem是什么职位
  • 阿里云上可以做网站吗百度一下电脑版首页网址
  • 深圳电商网站益阳网站seo
  • wordpress管理地址seo怎么提升关键词的排名
  • 公司营销型网站公司抖音关键词查询工具