网络通信——socket(TCP/IP).Http,同步和异步的区别

原创 2016年06月24日 11:06:14

1首先说下同步和异步的区别吧

同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 (比如 普通B/S模式

异步:请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 (AJAX技术(异步))  

举个栗子说:
同步   就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。 
异步  就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。 
更多请看:http://blog.csdn.net/morethinkmoretry/article/details/5791258

2 socket TCP/IP .http协议的区别

网络协议的话分为: 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层 三者从本质上来说没有可比性

socket则是对TCP/IP协议的封装和应用(程序员层面上),也就是说TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据

TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。 如果想要使传输的数据有意义,则必须使用到应用层协议。(http就是一种应用协议)
socket和TCP/IP协议关系的说法比较容易理解:“TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。”

http和socket

CSDN上有个比较形象的描述:HTTP是轿车,提供了封装或者显示数据的具体形式;

Socket是发动机,提供了网络通信的能力

实际上,传输层的TCP是基于网络层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议的,而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP编程的接口。

我的认为:http就是单方面请求,返回,就是两个端(客户端,服务器端)发短信
Socket就是两个端的打电话,他们必须保持连接状态才能通信,至于怎么连接的就不扯了
具体一点的可以查看:

TCP/IP、Http、Socket的区别


版权声明:本文为博主原创文章,未经博主允许不得转载。

异步SOCKET与同步SOCKET

Windows套接字在两种模式下执行I/O操作,阻塞和非阻塞。在阻塞模式下,在I/O操作完成前,执行操作的Winsock函数会一直等待下去,不会立即返回程序(将控制权交还给程序)。而在非阻塞模式下,W...
  • baidu_19340981
  • baidu_19340981
  • 2014年09月16日 14:42
  • 2099

【Unity】Socket 同步与异步

同步Socket 与 异步 Socket: 1.同步就是阻塞的,比如 接受数据 如果没有回应 就一直等待。 2.异步就是不用等待; 同步Socket using System; using Syste...
  • ldy597321444
  • ldy597321444
  • 2016年05月27日 19:52
  • 3667

socket阻塞与非阻塞,同步与异步、I/O模型

socket阻塞与非阻塞,同步与异步 作者:huangguisu 1. 概念理解      在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非...
  • hguisu
  • hguisu
  • 2012年04月12日 16:35
  • 195816

Socket同步通信与异步通信

Socket有同步阻塞方式和异步非阻塞方式两种使用,事实上同步和异步在我们编程的生涯中可能遇到了很多,而Socket也没什么特别。虽然同步好用,不费劲,但不能满足一些应用场合,其效率也很低。    也...
  • God_love
  • God_love
  • 2010年07月30日 08:50
  • 1879

Socket 同步和异步模式

学习socket 的一些笔记,希望和大家一起讨论 。 一.什么是socket   所谓socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3...
  • huijunma2010
  • huijunma2010
  • 2016年04月21日 15:04
  • 288

socket阻塞与非阻塞,同步与异步

socket阻塞与非阻塞,同步与异步   在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步/...
  • yuanchunsi
  • yuanchunsi
  • 2016年09月06日 11:18
  • 2336

TCP同步和异步连接_学习笔记

所谓同步连接,就是一个服务器与第一个请求建立连接并通信后,第二个请求将会被阻塞。 所谓异步连接,就是一个服务器可以同时响应多个请求。 同步:服务器与接受请求的代码: TcpLis...
  • u013641339
  • u013641339
  • 2015年07月16日 09:25
  • 3115

C# Scoket异步通讯实现(发送数据、接收数据)

using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne...
  • smartsmile2012
  • smartsmile2012
  • 2017年05月04日 17:09
  • 2818

通俗理解同步通信与异步通信

网络上对同步传输与异步传输的文章一大把,各种图示解说也很多,但看完终归有点一头雾水,本文通俗的来说说这两种通信方式。...
  • RhythmWANG
  • RhythmWANG
  • 2017年03月29日 16:35
  • 1306

一个简单的异步网络通讯源代码

  • 2002年12月08日 00:00
  • 27KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网络通信——socket(TCP/IP).Http,同步和异步的区别
举报原因:
原因补充:

(最多只允许输入30个字)