Socket

网络基础

计算机网络共分为五层:

应用层

运输层            >>通过端口把数据传到目的主机的目的进程,来实现进程和进程之间的通信

网络层             >> 负责根据IP找到目的地址的主机

数据链路层

物理层

端口号(PORT)

端口号规定为16位,即允许一个IP主机有2的16次方65536个不同的端口

其中 :0 ~ 1023 分配给系统的端口号(我们不能乱用)

        :1024 ~ 49151 登记端口号,主要是供第三方应用使用

        :49152 ~ 65535  短暂端口号,是留给客户进程选择暂时使用,一个进程使用完就可以                                            供其他进程使用

(在socket使用时,可以用1024 ~ 65535 的端口号)

C/S结构

定义:即客户端/服务器结构,是软件系统体系结构。

作用:充分利用两端硬件环境的优势,将任务合理分配到Cliect端和Server端来实现,降低系统的通讯开销

从下面图片可以看出,Socket使用可以基于TCP或者UDP协议

TCP协议

定义:Transmission Control Protocol,即传输控制协议,是一种传输层通讯协议。

            "基于TCP应用层协议有:FTP,Telent,HTTP,POP3,DNS"

特点:

            面向连接:指要使用TCP传输协议,必须先建立TCP连接,传输完成后释放连接,就                                   像打电话一样必须先输号建立一条连接,打完后挂断释放连接。

            面向字节流:流,指的是流入到进程或从进程流出的字符序列。

            全双工通信:一但建立TCP连接,通信双方可以在任意时候发送数据。

            可靠:指通过TCP间接传输的数据,无差错、无丢失、不重复,并且按序到达。

TCP建立间接:

        必须进行三次握手,如A与B进行连接,则必须

        第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence                                 Number为x;然后客户端进入SYN_SEN状态,等待服务端确认。即A发送                                   信息给B。

        第二次握手:服务端收到客户端的SYN报文段,需要对这个SYN报文段进行确认。即B收                                 到连接信息向A返回确认信息。

        第三次握手:客户端收到服务器的(SYN+ACK)报文段,并向服务器发送ACK报文段。                                 即A收到确认信息后再向B返回确认连接信息。

        至此A告诉自己上层连接建立;B收到连接信息后告诉上层连接建立。


UDP协议

定义:User Datagram Protocol,即用户数据报协议,是一种传输层通讯协议。

            “基于UDP的应用层协议有TFTP,SNMP,DNS”

特点:

            无连接的:和TCP建立连接不同,UDP传输数据不需要建立连接,就像写信在信封写                                  上收件人名字,地址交给邮局发送就可以了。至于能不能到剩下就看邮局                                    的了。

            不可靠的:因为UDP发出去的数据包发出去就不管了,所以很可能出现丢包现象,使                                   传输的数据出错。

            面向报文:数据报文,相当于一个数据包,应用层交给UDP多大的数据包,UDP都照                                   常发送,不会像TCP那样拆分。

            没有拥塞控制:拥塞,是指到达通信子网中某一部分的分组数量过多,使得该部分网                                           络来不及处理,以至引起这部分乃至整个网络性能下降的现象,严重                                           时甚至会导致网络通信业务陷入停顿,即出现死锁现象。

应用场景:

很多实时应用(如IP电话,实时视频会议等)要求源主机以很定的速率发送数据,并且允许网络发生拥塞时丢失一些数据,但是要求不能有太大的延迟,UDP就刚好适合这种要求,所以只有不适合的技术,没有正真没用的技术

Socket

定义

即套接字,是一个对TCP/IP协议进行分装的编程调用接口(API)

通过socket,我们才能在android平台上通过TCP/IP协议进行开发

socket不是一种协议,而是一个编程调用接口(api)属于传输层

成对出现,一对套接字

Socket = {(IP地址1,RORP端口号), (IP地址2,RORP端口号)}

原理

socket的使用类型主要有两种

流套接字(streamsocket):基于TCP协议,采用流的方式提供可靠的字节流服务

数据报套接字(datagramsocket):基于UDP协议,采用数据报文提供数据打包发送的服务

“原理如下”

Socket与Http的对比

Socket属于传输层,因为TCP/IP协议属于传输层,解决的是数据如何在网络中传输的问题

Http协议属于应用层,解决的是如何包装数据

http:采用请求 - 响应方式

1、建立网络连接后,当客户端向服务端发送请求,服务端才能向客户端返回数据

2、可以理解为,是客户端有需要才会进行通信

Socket:采用服务器主动发送数据的方式

1、即建立网络以后,服务器可主动发送消息给客户端,而不需要客户端向服务器发送请求

2、可以理解为,是服务器有需要才会进行通信

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 一: 网络各个协议:TCP/IP、SOCKET、HTTP 网络七层由下往上分别为物理层、数据链路层、网络层、传输层...
    iYeso阅读 1,429评论 0 13
  • 1.1 TCP/IP协议组 TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成 IP层负责...
    F麦子阅读 2,780评论 0 25
  • 柴可夫斯基从未让我感受到俄罗斯。使我感受到俄罗斯的是拉赫玛尼诺夫。 俄罗斯的精神是无法调和的矛盾,而柴可夫斯基...
    薛崔愿阅读 451评论 0 5
  • 我师妹逍遥紫是黑龙江省呼兰县人。不久前,她给我寄来两张照片,都是在呼兰河边照的。碧水,石桥,蓝天,衬托着我师...
    射雕天涯阅读 468评论 2 4
  • 想到写这篇文章到现在已经很久了,原本以为埋藏于心底会是那段时光最好的怀念,前段时间再看《一代宗师》梁朝伟的一句:念...
    我找令狐冲阅读 227评论 0 0