html5的tcp和udp web socket api草案定稿

  这是在 Web 上实现 UDP/TCP API 的草案,沿未形成标准。该标准的一大亮点就是使用内置 Promise 设计模式,替代了传统 JavaScript 中的事件触发回调。不过各大浏览器厂商会不会这样实现还要打一个问号,毕竟编写标准的学院派和实现标准的行业派很难达到完全统一。

  以下内容来自: http://www.w3.org/TR/2014/WD-tcp-udp-sockets-20141202/

  接口标准提供对原始 UDP 套接字(Socket),TCP 客户端套接字和 TCP 服务器套接字 API 的定义。

  简介

  这部分沿未形成规范。您可以使用该 API 来发送和接收数据,并使用 TCP 或 UDP 网络。

  使用此 API 的部分用例:

  • 能够与 SMTP, POP3 和 IMAP 服务器进行通信的邮件服务器。
  • 一个能与 IRC 服务器进行通信的 IRC 客户端 (注* IRC 是一种通过网络的即时聊天方式。其主要用于群组聊天。)
  • 实现一个 SSH 应用程序
  • 与现有的消费硬件产品进行通信,如互联网电视
  • 游戏服务器
  • 端到端应用程序(注* P2P 或对等网络应用)
  • 本地网络多播服务(multicast service)发掘,例如 UPnP/ SSDP 和 mDNS

  一个 UDP 的例子:

// // This example shows a simple implementation of UPnP-SSDP M-SEARCH // discovery using a multicast UDPSocket //  var address = ‘‘‘‘239.255.255.250‘‘‘‘,
    port = ‘‘‘‘1900‘‘‘‘,
    serviceType = ‘‘‘‘upnp:rootdevice‘‘‘‘,
    rn = ‘‘‘‘\r\n‘‘‘‘,
    search = ‘‘‘‘‘‘‘‘; // Create a new UDP client socket var mySocket = new UDPSocket (); // Build an SSDP M-SEARCH multicast message search += ‘‘‘‘M-SEARCH * HTTP/1.1‘‘‘‘ + rn;
search += ‘‘‘‘ST: ‘‘‘‘ + serviceType + rn;
search += ‘‘‘‘MAN: "ssdp:discover"‘‘‘‘ + rn;
search += ‘‘‘‘HOST: ‘‘‘‘ + address + ‘‘‘‘:‘‘‘‘ + port + rn;
search += ‘‘‘‘MX: 10‘‘‘‘; // Receive and log SSDP M-SEARCH response messages function receiveMSearchResponses () { // While data in buffer, read and log UDP message while (mySocket.readable.state === "readable") { var msg = mySocket.readable.read ();
    console.log (‘‘‘‘Remote address: ‘‘‘‘ + msg.remoteAddress + ‘‘‘‘ Remote port: ‘‘‘‘ + msg.remotePort + ‘‘‘‘Message: ‘‘‘‘ + ab2str (msg.data)); // ArrayBuffer to string conversion could also be done by piping // through a transform stream. To be updated when the Streams API // specification has been stabilized on this point.   } // Wait for SSDP M-SEARCH responses to arrive   mySocket.readable.wait () .then (
    receiveMSearchResponses,
    e => console.error ("Receiving error: ", e);
  );
} // Join SSDP multicast group mySocket.joinMulticast (address); // Send SSDP M-SEARCH multicast message mySocket.writeable.write (
  {data : str2ab (search),
   remoteAddress : address,
   remotePort : port
  }) .then (
    () => { // Data sent sucessfully, wait for response console.log (‘‘‘‘M-SEARCH Sent‘‘‘‘);
      receiveMSearchResponses ();
    },
    e => console.error ("Sending error: ", e);
); // Log result of UDP socket setup.  mySocket.opened.then (
  () => {
    console.log ("UDP socket created sucessfully");
  },
  e =>console.error ("UDP socket setup failed due to error: ", e);
); // Handle UDP socket closed, either as a result of the application // calling mySocket.close () or an error causing the socket to be   closed.
mySocket.closed.then (
  () => {
     console.log ("Socket has been cleanly closed");
  },
  e => console.error ("Socket closed due to error: ", e);
);

时间: 2024-08-11 07:38:00

html5的tcp和udp web socket api草案定稿的相关文章

TCP、UDP及Socket(Port)的关系,深入浅出!

转自http://www.cnblogs.com/wish123/archive/2013/04/12/3017031.html 提醒:貌似这里说的socket是指port,而非socket api技术!仅供参考!貌似标题命名不准确的说<更安全的Linux网络>第1章防火墙的基本概念,在本书的开始将详尽讲解与防火墙相关的TCP/IP技术.此外,对于防火墙的原理.种类.架构及其优.缺点,在本章中也都有详尽的介绍.本节为大家介绍TCP.UDP及Socket的关系.1.4 TCP.UDP及Socke

HTTP、TCP、UDP以及SOCKET之间的区别/联系

一.TCP/IP代表传输控制协议/网际协议,指的是一系列协组. 可分为四个层次:数据链路层.网络层.传输层和应用层. 在网络层:有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层:中有TCP协议与UDP协议. 在应用层:有FTP.HTTP.TELNET.SMTP.DNS等协议. TCP和UDP使用IP协议从一个网络传送数据包到另一个网络.把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口.TCP和UDP是高速公路上的"卡车",它们携带的

HTTP、TCP、UDP、Socket

先来一个讲TCP.UDP和HTTP关系的 1.TCP/IP是个协议组,可分层次:网络层.传输层和应用层.在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.在传输层中有TCP协议与UDP协议.在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议.因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议. 2.HTTP协议是建立在请求/响应模型上的.首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器,请求中包含请求方法.URI

iOS网络HTTP、TCP、UDP、Socket 知识总结

一.前言 以下是我自己的学习加理解,分享给大家,同时也算是自己做的笔记吧,俗话说好记性不如烂笔头,希望来的你能有所帮助,有什么理解不到位的地方,还请大神些多多指教. 欢迎到:http://www.jianshu.com/p/092b700f601b 二.网络模型 OSI 七层模型:我们一般使用的网络数据传输由下而上共有七层,分别为物理层.数据链路层.网络层.传输层.会话层.表示层.应用层.  OSI网络七层模型 TCP/IP模型:TCP/IP 模型分为四层,由下而上分别为网络接口层.网络层.传输

TCP与UDP在socket编程中的区别 (网络收集转载)

http://blog.chinaunix.net/uid-26421509-id-3814684.html 一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UDP不保证  部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息  拥有大量Client  对数据安全性无特殊要求  网络负担非常重,但对响应速度要求高  具体编程时

TCP与UDP在socket编程中的区别

一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UDP不保证  部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息  拥有大量Client  对数据安全性无特殊要求  网络负担非常重,但对响应速度要求高  具体编程时的区别 socket()的参数不同  UDP Server不需要调用listen和accept  UDP收发数

TCP、UDP、Socket 通信(原)

说明:本随笔主要演示自己给自己发送消息例子,分别使用了TCP协议.UDP协议以及socket套接字通信.使用socket套接字了模拟TCP.UDP通信实现原理.其中有些源码都来自<C#高级编程 第7版>,并附加了自己的理解,有的也进行了一些简单的拓展. 第一次原创随笔,很多地方可能考虑不周或理解有误,希望大家留言指正,与大家共同进步.也希望大家不喜勿喷,给点鼓励还是比较好的~~ 闲话少说,进入主题! 一.TCP 类 TCP是基于连接的一种通信模式,我们需要创建客户端与服务器端来进行通信.在客户

HTTP、TCP、UDP、Socket基本概念(转)

1.TCP/IP是个协议组,可分层次:网络层.传输层和应用层.  在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.  在传输层中有TCP协议与UDP协议.  在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议.  因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议. 2.HTTP协议是建立在请求/响应模型上的.首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器,请求中包含请求方法.URI.协议版本以及相关的MIM

[javaSE] 网络编程(TCP,UDP,Socket特点)

UDP特点: 面向无连接,把数据打包发过去,收不收得到我不管 数据大小有限制,一次不能超过64k,可以分成多个包 这是个不可靠的协议 速度很快 视频直播,凌波客户端,feiQ都是UDP协议 TCP特点: 面向连接,对方必须在 三次握手完成连接,我:在吗:你:我在:我:我知道了 大数据量传输 速度稍慢 Socket: Socket就是网络服务提供的一种机制 通信两段都要Socket 网络通信其实就是Socket间的通信 数据在两个Socket间通过IO传输