1.Socket:套接字,是传输层协议的一种编程API

  作用:用于描述IP地址和端口,区分来自不同应用程序的通信,实现数据传输的并发服务

  JDK  Socket:在java.net包下有两个类Socket和ServerSocket

2.TCP:面向连接的保证可靠传输层协议

  特点:超时重发,丢弃重复数据,检验数据等

  三次握手:在发送数据之前完成

      1.client向服务器发送SYN包,等待服务器确认

      2.服务器收到,并向client发送SYN+ACK包

      3.client收到,向服务器发送ACK包确认收到

  适用场景:点对点的通信

      比如:网页,邮件(SMTP),远程链接(Telnet),文件传送(FTP)

3.UDP:面向数据报的无连接的传输层协议

  特点:不需要在client和service端建立连接

  适用场景:广播发送,用于多点通信和实时数据业务,注重速度流畅

    比如,视频会议系统;QQ

4.HTTP:建立在TCP协议之上的应用层协议

  特点:短连接,无状态

5.FTP:文件传输协议,应用程协议

  特点:长传,下载和改变服务器上的目录

6.TCP/IP:是一个协议组,包括网络层,传输层,应用层

  Socket充当的作用:是一组接口,把复杂的TCP/IP协议组隐藏咋在接口后面,通常情况下,Socket连接就是TCP连接

  

7.总结

  1.HTTP是应用层协议,其传输都是被包装成TCP协议传输, 一个页面将需要建立多次的短期的TCP连接,每个TCP连接的建立将需要3次握手

2.Socket是实现传输层协议的一种编程API,可以是TCP,也可以是UDP

   3.在创建Socket连接时,可以指定传输层协议,若指定TCP协议,该Socket连接就是一个TCP连接

4.在数据层层向下的过程中,每一层都会对数据进行一些封装处理(如打包或者编码);而在数据层层向上的过程中,每一层都会对数据进行一些逆处理(如解包或者解码)

  

Socket,TCP/IP,UDP,HTTP,FTP的更多相关文章

  1. SOCKET,TCP/IP,UDP,HTTP,FTP总结

    一.TCP/UDP,SOCKET,HTTP,FTP简析   TCP/IP是个协议组(主要解决数据如何在网络中传输),可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议 ...

  2. android 网络编程--socket tcp/ip udp http之间的关系

    网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层,一般编程人员接触最多的就是应用层和运输层,再往下的就是所谓的媒体层了,不是我们研究的对象. 下面是应用层.运输层,网络 ...

  3. Http,Socket,TCP/IP 协议简述

    Http,Socket,TCP/IP 协议简述:https://blog.csdn.net/gordohu/article/details/54097841 TCP/IP协议,HTTP协议与webSo ...

  4. http与https与socket tcp/IP与UDP 协议等

    网络由下往上分为:   物理层--                       数据链路层-- 网络层--                       IP协议 传输层--               ...

  5. HTTP/TCP/IP UDP Socket等区别联系

    1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上. ...

  6. iOS中 HTTP/Socket/TCP/IP通信协议详解

    // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 // 7. ...

  7. socket,TCP/IP的理解

    TCP/IP 要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间 ...

  8. iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博 简单介绍: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 ...

  9. socket,TCP/IP的理解(转)

    TCP/IP 要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间 ...

随机推荐

  1. hdu 5057 Argestes and Sequence(分块算法)

    Argestes and Sequence Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  2. PHP&MySQL(二)——困也得啃书

    madan,所有事情都敢赶在一起...以后每天中午去学车啊,好开心..晚上好困,但是困也得啃书........ 二.PHP脚本编程语言 什么变量啊,数据类型啊,特别特别基本的不记录了,说点容易忽略的. ...

  3. Wish You to Remember

    Just to myself: it is not complicate. And I don't know its internal principle now. (ms08-067) But I ...

  4. cuda fft 计算

    #include <assert.h> #include <stdio.h> #include <stdlib.h> #include <string.h&g ...

  5. [PHP]Yii2框架的坑

    [PHP]Yii2框架的坑.md-/Users/zjh/Documents/我的文章/[PHP]Yii2框架的坑 html{font-family: sans-serif;-ms-text-size- ...

  6. 关于using关键字

    使用C#访问数据库资源需要如下几步: SqlConnection con=new SqlConnection(str); try { con.Open(); //略 } catch(Exception ...

  7. windows下 git配置ssh

    1. 打开 git bash 2. cd ~/.ssh 3. ssh-genkey (一致next),  会生成 id_rsa (密钥); id_rsa.pub(公钥) 4. 用记事本打开 id_rs ...

  8. View.inflate和LayoutInflater的inflate方法区别

    平时ListView加载item中,adapter的getView方法中,我们经常用到: LayoutInflater.from(mContext).inflate(R.layout.it ,pare ...

  9. Java—Servlet开发

    Servlet API中有4个java包: javax.servlet:包含定义Servlet与Servlet容器之间契约的类与接口. javax.servlet.http:包含定义HTTPServl ...

  10. 今天看了shell大神的写的一个统计脚本

    通过nginx日志统计接口耗时排行 grep '/bigbox?' access_log | awk '{print $7"&process="$NF}'| sed -r ...