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

紫金网站建设公司东莞公司注册地址

紫金网站建设公司,东莞公司注册地址,网站设计作业多少钱,怎么建设小说网站【Java】–网络编程#xff1a;基于TCP协议的网络通信 文章目录 【Java】--网络编程#xff1a;基于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协议的通信双方建立通信连接需要三次握手即三个步骤 客户端向服务器端发送 建立连接请求(SYN) 数据包。服务器端接收到客户端的SYN包发送 确认信息(ACK) 数据包表示收到了客户端发来的数据包同时发送SYN请求与客户端建立连接。客户端接收到服务器端发来的ACK SYN数据包之后发送ACK数据包表示收到了服务器发来的数据包。至此客户端和服务器之间建立连接。 1.2.2 画图演示 1.3 四次挥手 1.3.1 文字描述 使用TCP协议的通信双方断开已经建立的连接需要四次挥手即四个步骤 客户端向服务器端发送 断开连接请求(FIN) 数据包。服务器接收到客户端的FIN数据包先向客户端发送ACK数据包表示收到了客户端发来的数据包并准备断开客户端的连接。服务器处理好断开连接所需事宜后向客户端发送FIN ACK数据包表示与客户端断开连接。客户端接收到服务器端的FIN ACK数据包向服务器端发送ACK数据包表示收到了服务器端发送的数据包。至此客户端与服务器端断开连接。 1.3.2 画图演示 二、基于TCP的Socket网络编程 2.1 概念 Socket套接字是由操作系统提供的统一网络编程接口是网络中的一个通信节点。 因为基于TCP协议在使用Socket进行网络编程时需要分别进行服务器端的开发和客户端的开发。 2.2 服务器端的开发步骤 2.2.1 文字描述 创建ServerSocket对象并指定端口号。 ServerSocket listener new ServerSocket(10086);//指定服务器端的端口号侦听客户端的连接并返回客户端的套接字。 Socket clientSocket listener.accept(); //注意accept()是一个阻塞方法在获得客户端的套接字之前不会执行后面的代码。与客户端建立连接后通过输入流来获取客户端的输出流。 //用于接收客户端的数据 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);处理数据 String data br.readLine();//读取一行数据 System.out.println(客户端说 data); String s 已接收到数据; bw.write(s);//向客户端发送反馈 bw.newLine();//换行 bw.flush();//刷新缓存关闭 listener.close(); clientSocket.close(); is.close(); os.close(); isr.close(); osw.close(); br.close(); bw.close();2.3 客户端的开发步骤 2.3.1 文字描述 创建客户端套接字对象并指定服务器端的地址和端口号。 //指定服务器端的地址和端口号 Socket ClientSocket new Socket(10.9.48.155,10086);获取输出流和输入流 //用于向服务器端输出数据 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);处理数据并发送 String s 好久不见甚是想你; bw.write(bw); bw.newLine();//另起一行令客户端知道上一行是需要接收的内容 bw.flush();//刷新缓存零数据发送出去 String feedback br.readLine(); System.out.println(服务器回应道 data);关闭 ClientSocket.close(); os.close(); is.close(); osw.close(); isr.close(); bw.close(); br.close();总结 这篇文章讲解了什么是网络编程以及在java中如何实现基于TCP协议的网络编程。
http://www.eeditor.cn/news/125109/

相关文章:

  • 商城建站模板如何提高网站在百度的排名
  • 包头市做网站哪个设计君网站
  • 网络营销的概念与含义seo代运营公司
  • 橙色企业网站模板备案号怎么放置到网站
  • 织梦个人网站模板花店营销策略超市门户网站建设
  • 做内贸的什么网站效果好深圳工程造价信息网官网
  • 育贤网站建设做网站用什么做
  • 博客网站代码北京商城网站设计
  • 贵阳网站建设公司深圳企业网站建设费用明细
  • seo综合查询爱站杭州注册公司流程是怎样的
  • 随州做网站生意怎么样内网安装wordpress
  • 梧州网站建设贝尔利怎么找网站站长
  • php网站截图韩国出线形势
  • 深圳罗湖做网站三门峡网站优化
  • 网站后台管理进入客户信息管理
  • 怎么推销自己的网站小软件下载网站
  • 做的网站必须放在idc机房吗网站优化和推广
  • 做网站的技术要求怎么在百度上做网站推广
  • 网站后台的形成游戏开发定制
  • 域名代理商seo技术交流
  • wordpress 网站导航wordpress图片排版乱
  • 韶关做网站需要多少钱合肥网站制作公司排名
  • 更新网站的步骤穷人创业一千元以下的
  • 网站推广软件有哪些财务公司网站开发源码
  • 母了猜猜看游戏做网站制作网站需要注意的细节
  • python 网站开发 prf泰州 做网站
  • 宜春个人网站建设箱包 东莞网站建设
  • 资源网站排名优化seo江苏建设厅长
  • 成都企业建设网站seo渠道
  • 响应式企业网站网页设计代码在哪里写