如何检查TFTP连接的连接状态?

时间:2016-06-13 19:54:38

标签: node.js tftp

我想检查是否已建立此连接。我对节点js和tftp相当新,所以我不知道如何检查连接。我可以回复某种状态吗?

var tftp= require('tftp');


var client = tftp.createClient({
    host: "192.168.0.184",
    port: 69
});

2 个答案:

答案 0 :(得分:1)

如果您的意思是Trivial File Transfer Protocol,那么它基于UDP这是无连接的,所以实际上没有办法检查不存在的“连接”的状态。

TFTP基本上是一种请求 - 响应类型的协议,因此“检查”连接的唯一方法是发送“请求”并查看您是否在一定时间内收到“响应”。如果响应时间很长,那么出现问题(丢包或类似的东西),你必须重新开始。

当然,如果没有人在另一方收听,那么你甚至无法发送“请求”并会收到错误。

答案 1 :(得分:0)

尝试创建getStream时是否看到任何错误消息:

var get = client.createGetStream ("remote-file.txt");

我建议您首先检查tftp服务器是否正常运行。例如,在ubuntu中,您可以通过以下方式进行检查:

user@12345689:~$ sudo service tftpd-hpa status
● tftpd-hpa.service - LSB: HPA's tftp server
   Loaded: loaded (/etc/init.d/tftpd-hpa; bad; vendor preset: enabled)
   Active: active (running) since Tue 2020-05-12 19:29:40 PDT; 12h ago

有时防火墙可以通行

user@12345689:~$ sudo service ufw status
● ufw.service - Uncomplicated firewall
   Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enab
   Active: inactive (dead) since Wed 2020-05-13 07:30:16 PDT; 4min 22s ago

在拥有tftp的计算机上以及在其他远程计算机上,您可以通过以下方式测试tftp:

user@12345689:~$tftp
> get 10.0.0.50:remote-file.txt
received 2000 bytes