zoukankan      html  css  js  c++  java
  • Android/NodeJs 中 Http连接和TCP连接的区别(Android环境)

    Http是应用层协议,TCP是网络层协议,应用层在TCP/IP四层架构中位于TCP的上一层。

    建立Http连接在实现时有以下两种方式

        DefaultHttpClient http = new DefaultHttpClient();  
        HttpGet method = new HttpGet(url);   
        HttpResponse response =http.execute(method);  
        URL url = new URL(uri);  
        HttpURLConnection connection = (HttpURLConnection)  
        url.openConnection();  
        connection.connect(); 

    TCP连接在实现时要借助Socket(套接字 IP+端口号)

    Socket s = new Socket("localhost", 12345);  

    区别从这两个连接的实现方式就可以看出来,

    HTTP连接需要指明资源的URL,发出请求的应用不知道服务器的IP,虽然域名服务器也是要把域名解析成IP地址,但不属于应用所关心的范畴,是网络层应该完成的工作。

    所以Http连接属于无状态的短连接,若再请求其他数据,需要再重新建立连接。客户端向服务器发送请求后,服务器才知道客户端的存在。


    TCP连接实现时需要指明IP地址和端口号,就可以跟目的主机通过三次握手建立联系,该连接一直保持直到某一方提出取消连接,通过四次握手关闭连接。

    Socket支持TCP/UDP协议,如果使用TCP协议,那么socket连接就是TCP连接。提到的应用场景是手机与云端的服务器建立联系,因为要保持连接并指定连接的建立时间,所以在这种场景下使用TCP连接最合适。3G网络不支持端到端建立TCP连接,因为它是client-server模式,所以需要通过云端服务器的辅助来实现手机的端到端通信。

    https://blog.csdn.net/heyetina/article/details/8056575

    ——————————————————————————————————————————————————

    nodejs中tcp服务器和http服务器实现的异同

    一,相同点

        1,都调用了createServer方法
        2,当客户端接入时都会执行一个回调函数

    二,不同之处

        1,回调函数的中对象的类型

      net服务器中,是个连接(connect)对象

      而在HTTP服务器中,则是请求和响应对象


        2,原因:
            1,http服务器是更高层的API,提供了控制和HTTP协议相关的一些功能。
            2,浏览器在访问站点时不会只用一个连接,很多主流的浏览器为了更快的加载网站内容,能够像同一个主机打开八个不同的连接,并发送请求。Node为了不让我们担心是请求还是连接,为我们提供了请求和响应的抽象。因此,即使你能通过req.connection属性获得TCP连接对象,但大多数情况下你还是在与请求和响应的抽象打交道。

    摘自:https://blog.csdn.net/qiubt__123/article/details/51636794

  • 相关阅读:
    WM_PAINT消息详解,使用InvalidateRect或InvalidateRgn函数刻意产生WM_PAINT消息(WIN7里有变化,“调整视觉效果”,将“启用桌面组合”去掉)
    delphi 大文件的读写 使用 MapviewOffile
    Delphi的子类化控件消息, 消息子类化
    wParam与lParam的区别
    为什么使用DLL
    大数据分包算法
    JSON如何序列图片
    AngularJs学习
    设计模式解读
    js模块化编程总结
  • 原文地址:https://www.cnblogs.com/xtxt1127/p/12341508.html
Copyright © 2011-2022 走看看