What does netstat show the state of the conn being when this error state happens? Also do you have control of the sending side of this? if so, it might make sense to do a heartbeat (a dummy packet that gets discarded in the scope of the log) every few minutes that forces all firewalls etc between the two hosts to think that the connection is active over long periods of inactivity.
Edited: Also, getline is fine. And since you don't need this to timeout at all, you can use undef for the timeout value to turn off timeouts completely.
-Waswas | [reply] |
Unfortunatly, I do not have control over the remote device. The socket is connected to a remote device server called a UDS-10 by Lantronix, this device is like an Ethernet to Serial brige, buffering output from a connected serial device (in this case a phone switch) and allowing me to collect the output over TCP/IP from port 10001 - but if I send it any data, it will disable logging on the phone switch, and I will have to turn it on again in their software. The phone switch itself is supposed to be connected to a serial printer, but I just connect it to this device, parse the data, and drop it into an Informix database.
Do you think maybe the problem is in the $line = $socket->getline; statement? Should I be using $line = <$socket>; instead?
| [reply] |
Just two more questions and I think I can narrow it down, 1, is there any firewall device between the UDS-10 and the logging server? (if yes brand) 2, could you get me a output of netstat for the port when it is in error state? Thanks.
-Waswas
| [reply] |