Hi @all
I’m developing a tool who sniff the networktraffic on the nic. I would
like to call the method asynchron from a other pc. I realize this
problem with xmlrpc4r. To sniff the networkpackets, I use the pcaplet.
Now, I want to stop the sniffing method also at the remote side. The
idea is to set a global flag $state to boolean false. But it doesn’t run
correctly. You can see below the code from the remote class.
Thanks for helping…
Sniffing class______
class Sniffer
$state = true
def start_sniffing
@pcaplet = Pcaplet.new("-i eth0")
# …and so on…
for pkt in @pcaplet
puts pkt.time
break if $state == false # stop sniffing
end
end
def stop_sniffing
$state = false
end
end
K. R. wrote:
Thanks for helping…
for pkt in @pcaplet
puts pkt.time
break if $state == false # stop sniffing
end
end
def stop_sniffing
$state = false
end
end
Not sure why you want a global for this. Wouldn’t it be better to set
an @state instance variable in Sniffer’s initialize method, and refer to
that in start_sniffing and stop_sniffing?
2007/11/17, Alex Y. [email protected]:
Not sure why you want a global for this. Wouldn’t it be better to set
an @state instance variable in Sniffer’s initialize method, and refer to
that in start_sniffing and stop_sniffing?
Definitively. And also: KR, where do you do the sniffing? Is it in
Pcaplet’s constructor? In that case the flag would be useless.
Cheers
robert
Definitively. And also: KR, where do you do the sniffing? Is it in
Pcaplet’s constructor? In that case the flag would be useless.
No, I don’t sniff in the constructor. But with xmlrpc4r, I have a big
problem. When I want to start the Serverapplication (server =
XMLRPC::Server.new(ip, “/RPC2”, 20000) and call the serve method, my
application needs 20 seconds to start correctly. After the starting
phase, all response of connection-requests have a delay to 20 seconds.
Ugly. Did you find out where the time is spent? Is using DRb an
option?
yeah the problem is in the serve method from xmlrpc4r. It takes 20
seconds to establish a tcpserver. Now, I’m using the DRb option. But it
seems like the same problem.
2007/11/19, K. R. [email protected]:
Definitively. And also: KR, where do you do the sniffing? Is it in
Pcaplet’s constructor? In that case the flag would be useless.
No, I don’t sniff in the constructor. But with xmlrpc4r, I have a big
problem. When I want to start the Serverapplication (server =
XMLRPC::Server.new(ip, “/RPC2”, 20000) and call the serve method, my
application needs 20 seconds to start correctly. After the starting
phase, all response of connection-requests have a delay to 20 seconds.
Ugly. Did you find out where the time is spent? Is using DRb an
option?
Cheers
robert
2007/11/19, K. R. [email protected]:
Ugly. Did you find out where the time is spent? Is using DRb an
option?
yeah the problem is in the serve method from xmlrpc4r. It takes 20
seconds to establish a tcpserver. Now, I’m using the DRb option. But it
seems like the same problem.
Sounds as if you either have a networking issue (slow DNS loopups?) or
you have a fundamental design issue (i.e. starting a server too
often).
My 0.02EUR…
robert