UDP 数据报套接字.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。 索引?|?在单一页面中浏览?|?JSON格式 UDP / 数据报套接字 dgram.createSocket(type, [callback]) 类: dgram.Socket 事件: message 事件: listening 事件: close 事件: error socket.send(buf, offset, length, port, address, [callback]) socket.bind(port, [address], [callback]) socket.close() socket.address() socket.setBroadcast(flag) socket.setTTL(ttl) socket.setMulticastTTL(ttl) socket.setMulticastLoopback(flag) socket.addMembership(multicastAddress, [multicastInterface]) socket.dropMembership(multicastAddress, [multicastInterface]) socket.unref() socket.ref() UDP / 数据报套接字# 稳定度: 3 - 稳定 数据报套接字通过?require(dgram)?提供。 重要提醒:dgram.Socket#bind()?的行为在 v0.10 中已改变,并且现在它总是异步的。如果您的代码看起来像这样: 您需要将它改成这样: type?String 可以是 udp4 或 udp6 callback?Function 可选,会被作为?message?事件的监听器。 返回:Socket 对象 创建一个指定类型的数据报 Socket。有效类型包括?udp4?和?udp6。 接受一个可选的回调,会被添加为?message?事件的监听器。 如果您想接收数据报则可调用?socket.bind。socket.bind()?会绑定到“所有网络接口”地址的一个随机端口(udp4?和?udp6?皆是如此)。然后您可以通过?socket.address().address?和?socket.address().port?来取得地址和端口。 dgram Socket 类封装了数据报功能,可以通过?dgram.createSocket(type, [callback])?创建。 msg?Buffer 对象,消息 rinfo?Object,远程地址信息 当套接字中有新的数据报时发生。msg?是一个?Buffer,rinfo?是一个包含了发送者地址信息的对象: 当一个套接字开始监听数据报时产生。它会在 UDP 套接字被创建时发生。 当一个套接字被?close()?关闭时产生。之后这个套接字上不会再有?message?事件发生。 exception?Error 对象 当发生错误时产生。 buf?Buffer 对象,要发送的消息 offset?Integer,Buffer 中消息起始偏移值。 length?Integer,消息的字节数。 port?Integer,目标端口 address?String,目标 IP callback?Function,可选,当消息被投递后的回调。 对于 UDP 套接字,必须指定目标端口和 IP 地址。address?参数可以是一个字符串,它会被 DNS 解析。可选地可以指定一个回调以用于发现任何 DNS 错误或当?buf?可被重用。请注意 DNS 查询会将发送的时间推迟到至少下一个事件循环。确认发送完毕的唯一已知方法是使用回调。 如果套接字之前并未被调用?bind?绑定,则它会被分配一个随机端口并绑定到“所有网络接口”地址(udp4?套接字是 0.0.0.0;udp6?套接字是 ::0)。 向?localhost?随机端口发送 UDP 报文的例子: 关于 UDP 数据报大小的注意事项 一个?IPv4/v6?数据报的最大大小取决与?MTU(最大传输单位)和?Payload Length?字段大小。 Payload Length?字段宽?16 bits,意味着正常负载包括网络头和数据不能大于 64K(65,507 字节 = 65,535 ? 8 字节 UDP 头 ? 20 字节 IP 头);这对环回接口通常是真的,但如此大的数据报对大多数主机和网络来说是不切实际的。 MTU?是一个给定的数据链路层技术能为数据报提供支持的最大大小。对于任何连接,IPv4?允许最小?68?字节的?MTU,而 IPv4 所推荐的?MTU?为?576(通常作为拨号类应用的推荐?MTU

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档