Socket网络通信

由于最近面试中经常被问到关于网络传输这一块儿,再加上网上关于socket的帖子乱飞,除了几篇精贴之外,其余全部command+C, So I decided to organize the Socket network transport protocol!希望可以帮助到大家~

Socket:又称”套接字”,应用程序通过”套接字”向网络发送请求或应答,它是一个针对TCP和UDP编程的接口,借助它建立TCP/UDP连接。socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉.

1、首先我们先介绍一下OSI和TCP\IP(看图说话)

Snip20170311_9.png

简单解释:

1.物理层:主要定义物理设备标准,如网线的接口类型、各种传输介质的传输速率等。

2.数据链路层:主要将从物理层接收的数据进行MAC地址的封装与解封装。

3.网络层:选择合适的网间路由和交换结点,确保数据及时传送,将从下层接收到的数据进行IP地址的封装与解封装 IP协议

4.传输层:定义了一些传输数据的协议和端口,如TCP、UDP协议,主要将从下层接收的数据进行分段和传输,到达目的地址后再进行重组,以往把这一层数据叫做段 TCP/UDP协议

5.会话层:通过传输层建立数据传输通路。

6.表示层:主要是进行对接收的数据进行解释、压缩与解压缩等,即把计算机能够识别的东西转化成人能够识别的东西(如图片、声音等)。

7.应用层:主要是一些终端的应用,比如说FTP(各种文件下载)、浏览器、QQ等,可以将其理解为在电脑屏幕上可以看到的东西,也就是终端应用。 HTTP/XMPP协议

2、面试中经常问到的各种区别

想想头就大

1、先讲一下TCP和UDP的区别(废话不多说,直接贴图)

Snip20170310_3.png

2、TCP、UDP、HTTP、SOCKET之间的区别

IP:网络层协议;
通过Ip协议可以使可以使两台计算机使用同一种语言,从而允许Internet上连接不同类型的计算机和不同操作系统的网络。Ip协议只保证计算机能够接收和发送分组数据。当计算机要和远程的计算机建立连接时,TCP协议会让他们建立连接:用于发送和接收数据的虚拟电路。

TCP和UDP:传输层协议;
上面已经讲过区别,不再多说,再啰嗦两句哈哈,UDP一般用于屏幕共享或者视频直播等对数据安全要求不是很高的需求中。

HTTP:应用层协议;
HTTP 底层是通过socket建立连接通信管道,实现数据传输
HTTP 是一个TCP的传输协议(方式),它是一个可靠,安全的协议。

SOCKET:TCP/IP网络的API。
TCP/IP代表传输控制协议/网际协议,指的是一系列协议。

TCP和UDP使用IP协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,现在开始开车,老司机来带上你们,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。

TCP和UDP是FTP、HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。

HTTP(超文本传输协议)、XMPP(即时通讯协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。

记住,需要IP协议来连接网络;TCP是一种允许我们安全传输数据的机制,,使用TCP协议来传输数据的HTTP是Web服务器和客户端使用的特殊协议。

Socket 接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,用以开发TCP/IP网络上的应用程序。

TCP和UDP都属于传输层协议,他和HTTP、XMPP等的区别在于,TCP和UDP是描述该协议的 传输方式,比如是否要建立连接等,而HTTP则表示在该协议下进行数据传送时的 数据格式

HTTP:超文本传输协议,它的底层就是通过socket建立连接通信管道,他属于socket层上协议,属于应用层的协议,格式类似于json,有content-type,body等。

XMPP协议:即时通讯协议,同HTTP一样属于应用层协议,格式为XML,环信就是基于XMPP进行的二次开发。

3、网络通信的要素

1、首先我们得有了联系才能发生关系吧!你懂得~
那我们就先通过Socket来加个好友吧
2、既然好友都加了,那我们再深入的了解一下吧,你家住哪儿啊~
那我们就互换一下家庭住址 IP
3、那我准备去你家了啊,把路线规划一下吧,可千万别走错了啊~
那我就用百度地图规划一下吧 端口号

<1>用于标示进程的逻辑地址,不同进程的表示
<2>有效端口:0-65535,其中0-1024由系统使用或者保留端口,开发中建议只用1024以上端口

4、我考虑一下该开我那辆车去呢~
4.1 皮卡 开这个车呢,可以给你带很多礼物,虽然稍微慢了点吧,但是慢点安全,因为我开的慢嘛,所以我去你家我得先给你打个电话,你不接我电话我就不去了,你接了电话同意我去了,我才过去
4.2 兰博基尼 开这个车呢,因为是跑车嘛,我就不能带太多东西了,带束花还是可以的,因为我这车速度太快,我就不给你打电话了,到你家分分钟的事儿,虽然速度比较快,就是有点危险

4、长连接和短连接

长连接和短连接其实就是一个连接的保存状态,区别就是连接保存的时间
讲解一下:Socket层上的协议(Http协议与XMPP协议都是定义数据传输格式)
<1>Socket是层上的协议,指的是数据传输的格式
<2>Http协议其实是它就是定义在网络上传输的数据格式,双方互相约束,也是数据传输的格式

XMPP协议,是一款即时通讯协议
<1>可扩展消息处理现场的协议,是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测,这个协议可能最终允许因特网用户向因特网其他任何人发送即时消息

以写一封信为标准:

TCP/UDP (传输方式 ) ->EMS/申通/圆通/各种通
HTTP/XMPP(数据传输格式) ->>新的内容格式 (中文或,英文),它们只是传输的内容格式不一样罢了

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

推荐阅读更多精彩内容