typescript - 无法连接到 Kafka 服务器的 TCP 套接字
问题描述
我启动了简单的 kafka 服务器。请参阅快速入门部分
我无法连接到上述服务器。这是我的代码:
Deno.listen({ port: 9092, transport: 'tcp' });
// or
Deno.listen({ port: 9092, hostname: 'localhost', transport: 'tcp' });
//or
Deno.listen({ port: 9092, hostname: '127.0.0.1' });
这是错误:
error: Uncaught PermissionDenied: An attempt was made to access a socket in a way forbidden by its access permissions. (os error 10013)
at unwrapResponse ($deno$/ops/dispatch_json.ts:43:11)
at Object.sendSync ($deno$/ops/dispatch_json.ts:72:10)
at Object.listen ($deno$/ops/net.ts:51:10)
at Object.listen ($deno$/net.ts:152:22)
at Object.listen ($deno$/net_unstable.ts:36:12)
at file:///D:/rust/deno/index.ts:10:6
我试过的命令
deno run --allow-net --allow-write ./index.ts
deno run --allow-net --unstable ./index.ts
deno run --allow-net ./index.ts
我可以在 Rust 帮助下毫无问题地连接到上面的服务器。这是我的锈代码:
fn connect() -> Result<(), std::io::Error> {
let stream = TcpStream::connect("localhost:9092").expect("Could not connect");
}
我是 Deno 的新手。我做错了什么?
解决方案
随着Deno.listen
您在 port 上创建服务器9002
,而不是连接到 Kafka 服务器。你应该Deno.connect
改用。
const conn = await Deno.connect({ hostname: "localhost", port: 9092 });
console.log("Connected", conn);
const decoder = new TextDecoder();
const encoder = new TextEncoder();
await conn.write(encoder.encode("message"));
// Read response
const buf = new Uint8Array(1024);
await conn.read(buf);
console.log('Client - Response:', decoder.decode(buf))
conn.close();
推荐阅读
- c# - 如何强制启动 Asp.Net Core 3.0 应用程序以使用身份登录页面
- crashlytics - Crashlytics 线程仅在使用 Xcode11 构建的 iOS13 上崩溃
- python - Python/Pandas - 从数据集中删除观察结果
- angular - 模拟 @ngrx/router-store 的 selectRouteParam
- javascript - 从 Lat/Lng 地理编码中获取 Google 地图地名
- sql-server - MSSQL数据库之间的区别
- angular - 角材料拖放中的重复项目
- php - 如何在多个复选框 laravel 编辑刀片视图中显示已选中未选中
- php - 如何使用 store 方法,以便它可以将数据保存到我的表中
- java - 为什么这个逻辑验证在springboot中通过