The chisel server operates with a fixed IP address.
The chisel client frequently changes its IP address when using mobile phone networks.
The chisel client uses both tunneling and reverse tunneling.
Problem:
In the keepAliveLoop, the ping transmission part does not have a timeout. Consequently, if there is no response, the process halts. This leads to the SSH port not being released.
Although new clients with new IP addresses can send data to the server, reverse tunneling is limited to communication between one server port and one client. Therefore, when the client's IP changes, the server cannot send data to the new client. This issue persists until the chisel server is restarted.
Solution:
Modify the ping process to be asynchronous. If there is no response within the specified keepalive time, the established SSH connection will be closed.
Usage Environment:
Problem:
Solution: