您如何正确地为套接字构造和使用缓冲区?

冒名顶替者

我正在尝试将一段代码转换为TypeScript,但是我遇到了一个Buffer与UDP套接字一起使用的问题

我正在使用的代码如下所示:

/// <reference path="../node_modules/DefinitelyTyped/node/node.d.ts" />
import dgram = require( "dgram" );

var udpServer:dgram.Socket = dgram.createSocket( "udp4" );

var message = new Buffer( "foo" );
udpServer.send( message, 0, message.length, 1337, "255.255.255.255" );

WebStorm抱怨message该错误Argument type Buffer is not assignable to argument type NodeBuffer

我知道这是由于Socket.send()要求aNodeBuffer作为第一个参数的事实,而我正在提供a Buffer但是我该如何克服呢?

我不能NodeBuffer用作的类型message,它只会导致不同的错误。

var message:NodeBuffer = new Buffer( "foo" );

会导致 Initializer type Buffer is not assignable to variable type NodeBuffer

var message:NodeBuffer = new NodeBuffer( "foo" );

会导致Argument types do not match parameters

由于http://nodejs.org/api/dgram.html上提供的示例适用于普通JavaScript,这使我感到困惑

那么,如何正确构造一个可以通过UDP套接字发送的缓冲区?

冒名顶替者

该问题是由于在WebStorm的JavaScript设置中启用Node.js v0.8.16核心模块库引起的。

WebStorm在Buffer实际上是哪种类型上感到困惑禁用该库将解决错误提示。

遗憾的是,这对我们来说不是一个真正的选择,因为该项目同时使用带有JavaScript的Node.jsTypeScript代码。但是至少我现在知道了问题所在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何正确地将freetype位图缓冲区转换为opencv Mat?

套接字缓冲区中的校验和字段

如何找到Linux的套接字缓冲区大小

如何获得底层套接字读取缓冲区的大小?

如何使用Tensorflow的协议缓冲区编译器从.proto文件正确地重新生成python .pb2.py文件?

Python套接字:使用send()和recv()时有关网络缓冲区的问题

在使用套接字时重用读取缓冲区

如何正确地将缓冲区指针传递给x86_64程序集中的Linux系统调用?

我如何正确地从标准输入中读取带有缓冲区的输入而不会截断任何单词?

套接字接收缓冲区大小

您如何使用缓冲区?[基于Intel的程序集]

为什么在 C 中读取和写入套接字时应该使用循环缓冲区?

我可以在套接字接收缓冲区中丢失数据报吗?使用UDP时如何发生?

无法弄清楚如何在二进制Web套接字中使用缓冲区

如何正确使用new和delete(以避免缓冲区溢出问题)

如何正确使用ByteToMessageCodec.encode和直接缓冲区

如何使用getpwuid_r()正确设置缓冲区和bufsize?

使用Delphi中的套接字使用缓冲区发送/接收文本

如何将缓冲区从套接字分离到不同的变量?

如何清除套接字缓冲区以从最新请求中获取最新数据

如何在python中设置套接字的发送缓冲区大小

如何在套接字流缓冲区中添加空终止。C

如何读取套接字缓冲区中的所有可用字节?Python3

使用 gdb 回溯 linux 套接字 - 功能未显示,缓冲区未更新

套接字缓冲区大小未增加

golang获取udp套接字缓冲区大小

从套接字转换(解析)Google协议缓冲区流

套接字连接上的缓冲区溢出

UDP服务器套接字缓冲区溢出