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

海拉尔做网站多少钱河北建设机械协会网站

海拉尔做网站多少钱,河北建设机械协会网站,一个网站2级域名多,dedecms网站后台模板目录 计算机网络网络编程相关术语IP地址ip的概念InerAdress的了解与测试 端口URLTCP、UDP和7层架构TCPUDPTCP与UDP的区别和联系TCP的3次握手七层架构 Socket编程服务端代码客户端代码 http协议概念Http报文 Tomcat模拟 计算机网络 见文档 网络编程相关术语 见文档 IP地址 … 目录 计算机网络网络编程相关术语IP地址ip的概念InerAdress的了解与测试 端口URLTCP、UDP和7层架构TCPUDPTCP与UDP的区别和联系TCP的3次握手七层架构 Socket编程服务端代码客户端代码 http协议概念Http报文 Tomcat模拟 计算机网络 见文档 网络编程相关术语 见文档 IP地址 ip的概念 一个局域网内不同计算机的网段是一样的广域网IP也是一样的 同一台计算机中可以存在多个不同类型IP如本地局域网IP无线局域网IP广域网IP等 在运营商开户获得分配的ip 找人要先找广域网IP再找局域网IP才能最后找到 在局域网内部以局域网IP为身份在外部广域网以广域网IP为身份。 InerAdress的了解与测试 Testpublic void test4() throws Exception {InetAddress localHost InetAddress.getLocalHost();System.out.println(localHost localHost); //localHost LAPTOP-25C35TNG/192.168.1.115InetAddress name InetAddress.getByName(LAPTOP-25C35TNG);System.out.println(name name); //name LAPTOP-25C35TNG/192.168.1.115InetAddress baidu InetAddress.getByName(baidu.com);System.out.println(baidu baidu); //baidu baidu.com/39.156.66.10// 用ping也能拿到域名下的ipboolean reachable baidu.isReachable(100);System.out.println(reachable reachable); //reachable true}端口 端口port用来区分不同的应用程序端口号范围为065535其中01023被系统所保留如果自定义端口号建议为1023以后的 URL Testpublic void test5() throws Exception {//创建输入流URL url new URL(https://www.baidu.com/);InputStream in url.openStream();//获取输出流FileOutputStream out new FileOutputStream(D:/test/baidu.html);//实现下载 /* byte[] b new byte[1024];int i 0;while ((iin.read(b))!-1){out.write(b,0,i);} *///用此IOUtils包可以替换以上代码IOUtils.copy(in,out);//释放资源out.close();in.close();}Testpublic void test6() throws Exception {String encode URLEncoder.encode(连衣裙, utf-8);System.out.println(encode encode);//%E8%BF%9E%E8%A1%A3%E8%A3%99String decode URLDecoder.decode(%E8%BF%9E%E8%A1%A3%E8%A3%99, utf-8);System.out.println(decode decode);}TCP、UDP和7层架构 TCP 1.TCP协议是Transmission Control Protocol传输控制协议TCP是一种面向连接的、可靠的、基于字节流的传输层Transport layer通信协议。 2.当客户和服务器彼此交互数据前必须先在双方之间建立一个TCP连接之后才能传输数据TCP 协议使用超时重传、数据确认等方式来确保数据包被正确地发送至目的端故而效率低速度慢 3.TCP可靠传输协议不丢包经常用来传输文件回值内部处理缺点是效率低慢而且占用资源相当于打电话 UDP 1.UDP(User Datagram Protocol)是一种无连接、不可靠、基于数据报的用户数据协议。 2.UDP在传输数据报前不用在客户和服务器之间建立一个连接。它只是把数据报发送出去但是并不能保证他们能到达目的并且没有超时重发机制故而传输速度很快 3.UDP不可靠传输协议容易丢包。但是效率高快占用资源少。一般游戏中数据采用UDP传输数据相当于发短信快递 TCP与UDP的区别和联系 1.首先它们都是传输层的协议 2.TCP 协议可靠UDP 协议不可靠。可靠即指数据由A发送到B是否能确保数据真的有送达到BTCP 协议使用超时重传、数据确认等方式来确保数据包被正确地发送至目的端。而 UDP 协议无法保证数据从发送端正确传送到目的端如果数据在传输过程中丢失或者目的端通过数据检验发现数据错误则UDP协议只是简单地通知应用程序发送失败。对于 TCP 协议拥有的超时重传、数据确认等需要应用程序自己来处理这些逻辑 3.TCP 是面向连接的UDP 是无连接的。这也比较好理解因为 TCP 连接需要经历三次握手 4.TCP 服务是基于流的而UDP是基于数据报的基于流的数据没有边界长度限制而基于数据报的服务每个UDP数据报都有一个长度接收端必须以该长度为最小单位将其所有内容一次性读出 5.总之TCP 协议为应用层提供可靠的、面向连接的、基于流的服务。而 UDP 协议则与 TCP 协议完全相反它为应用层提供不可靠、无连接和基于数据报的服务 TCP的3次握手 见文档简单理解如下图 七层架构 物理层光纤网线 数据链路层网卡网桥 网络层IP地址寻址即IP协议 传输层TCP、UDP数据按包来发送 会话层防止不断地IP寻址 表示层解决不同系统之间的通信语法问题如linuxwindows 应用层定义了用于在网络中进行通信和传输数据的接口 https://blog.csdn.net/weixin_39855693/article/details/89228286 Socket编程 服务端代码 demo版代码 public class Server {public static void main(String[] args) throws Exception {// 初始化服务器System.out.println(初始化服务器);ServerSocket serverSocket new ServerSocket(8089);System.out.println(服务器初始化成功);// 监听服务器Socket accept serverSocket.accept();System.out.println(服务器连接成功);String hostName accept.getInetAddress().getHostAddress();System.out.println(hostName hostName);// 接收消息InputStream in accept.getInputStream();// 转成字符流InputStreamReader inputStreamReader new InputStreamReader(in,UTF-8);// 放到缓冲流之后可以一行一行读数据BufferedReader bufferedReader new BufferedReader(inputStreamReader);String line bufferedReader.readLine();System.out.println(客户端说 line); // line GET /?namehello HTTP/1.1// http://192.168.1.115:8088/?namehello} }优化版代码 public class Server {ServerSocket serverSocket ;public Server() throws IOException{System.out.println(初始化服务器);serverSocket new ServerSocket(8088);System.out.println(服务器初始化成功.......);}public static void main(String[] args) throws IOException {Server server new Server();server.start();}public void start() throws IOException{// 监听服务器System.out.println(服务启动成功等待连接);Socket accept serverSocket.accept();System.out.println(服务器连接成功);// 得到连接者名字String hostName accept.getInetAddress().getHostAddress();System.out.println(连接服务器的名字是hostName);// 接收客户端的消息 InputStream in accept.getInputStream();// 转为字符流InputStreamReader inputStreamReader new InputStreamReader(in,UTF-8);// 放到缓冲流之后可以一行一行读数据BufferedReader bufferedReader new BufferedReader(inputStreamReader);//读取一行String readLine bufferedReader.readLine();System.out.println(客户端说:readLine);}}客户端代码 public class Center {Socket socket;public Center() throws IOException{System.out.println(初始化客户端...);socketnew Socket(localhost, 8089);System.out.println(已经连接上服务端);}public static void main(String[] args) throws IOException {Center center new Center();center.start();}public void start() throws IOException{//向服务端发送消息//客户端获取了一个输出流OutputStream out socket.getOutputStream();//包装流OutputStreamWriter os new OutputStreamWriter(out, UTF-8);//可以传输中文os.write(你好服务器\n);os.flush(); //刷新缓冲区,强制写出缓冲区的内容} }http协议 概念 不同的浏览器共同遵守的接收和发送数据的规范 网站可以根据请求头里的这些信息来决定返回哪种语言和格式版本的网页 Http报文 见文档 Tomcat模拟 底层用的socket编程服务端接收客户端(浏览器)请求返回html给客户端访问 package cn.itsource.Test;import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket;public class TomcatServer {private ServerSocket ss;//构造器中初始化服务器的套接字public TomcatServer() {try {//初始化服务器指定端口访问时用该端口ss new ServerSocket(8091);} catch (IOException e) {e.printStackTrace();}}public void start() throws IOException{//监听客户端的访问Socket socket ss.accept();//创建输出流OutputStream os socket.getOutputStream();OutputStreamWriter osw new OutputStreamWriter(os,UTF-8);PrintWriter pw new PrintWriter(osw,true);//创建输入流根据用户的访问找到服务器中的资源用流的方式写出去File file new File(D:\\HBuilderProjects\\TestWebProject\\test.html);InputStreamReader isr new InputStreamReader(new FileInputStream(file), UTF-8);BufferedReader br new BufferedReader(isr);//如何输出到页面呢设置响应信息 -- 不然就只能输出到控制台或文本中但是用户就需要在页面中看到内容所以需要设置响应信息pw.println(http1.1 200 OK);//1.设置响应头协议版本 状态码 状态描述pw.println(Content-Type: text/html;charsetUTF-8);//2.设置响应类型和字符编码 // pw.println(Content-Length: file.length());//可以不写pw.println();//3.结束头部信息 -- 表示结束头部信息接下来开始写内容//响应的内容String len null;while((lenbr.readLine())!null){pw.println(len);}// pw.println(h1你好/h1);//关流pw.close();br.close();}public static void main(String[] args) throws IOException {TomcatServer web new TomcatServer();while(true){web.start();}} }
http://www.hkea.cn/news/14408754/

相关文章:

  • 网站名称在哪里修改网站建设-部署与发布的题目
  • 免费行情网站的推荐理由关键字排名软件官网
  • 山东嘉祥做网站的有哪几家深圳模具外贸网站建设
  • 如何建设移动端网站个人艺术作品网站建设策划书
  • 搭建网站 开源软件苏州制作网站的公司简介
  • 打开网站说建设中是什么问题?找企业名录的网站
  • 建行深圳网站大连seo推广优化
  • 深圳建设管理中心网站首页施工企业组织机构图
  • 昆明市 网站建设十大博客网站
  • 怎么上传网站电子商务网站开发与设计报告
  • 做网站收费 优帮云怎样建立俄罗斯网站
  • 网站的建设模式是指什么时候微信app下载安装最新版
  • 门户网站建设周期互联网大厂名单
  • 泰安做网站建设的百度登录
  • 做网站排名收益农村自建房设计师哪里找
  • 无锡网站优化方案个人发布信息的免费平台
  • 河南网站制作青浦网站建设
  • 企业+网站+wordpress内购券网站开发
  • wordpress模板建站教程视频营销网络英文
  • 丰台新乡网站建设注册有限公司需要什么条件多少钱
  • 北京网站推广排名wordpress500
  • 整站优化多少钱宁波网站建设电话咨询
  • 陕西网站备案网站建设什么因素最重要性
  • 电子商务网站开发实例论文wordpress 粘贴图片
  • 山西省建设工程网站自己可以给公司做网站吗
  • 焦作做微信网站多少钱页面设计上下左右如何设置
  • 网站建设资金申请报告四川做网站的公司
  • 跨国购物网站建设费用网站建设指南 读书心得
  • 老薛主机做多个网站建设阅读网站的目的
  • 天门网站开发建一个英文网站需要多少钱