I noticed this while writing my own mud server from scratch. Its mostly a coding exercise so while I was trying to get my async connections shut down properly I noticed mushclient was leaving its connections in FIN_WAIT_2 and CLOSE_WAIT. This only happens when using a "quit" command (ie the mud initiates closing the connection).
Quit command (server disconnecting client):
Proto Local Address Foreign Address State
TCP envy:4000 localhost:4977 FIN_WAIT_2
TCP envy:4977 localhost:4000 CLOSE_WAIT
And then when mushclient is closed netstat reports what it should have originally:
TCP envy:4000 localhost:4977 TIME_WAIT
Regular telnet and zMud both don't exhibit this behavior and it leaves its connection in close_wait for non-local servers as well so I'm pretty sure it's not my server. While this isn't the end of the world, FIN_WAIT_2 can have a fairly long timeout.
Quit command (server disconnecting client):
Proto Local Address Foreign Address State
TCP envy:4000 localhost:4977 FIN_WAIT_2
TCP envy:4977 localhost:4000 CLOSE_WAIT
And then when mushclient is closed netstat reports what it should have originally:
TCP envy:4000 localhost:4977 TIME_WAIT
Regular telnet and zMud both don't exhibit this behavior and it leaves its connection in close_wait for non-local servers as well so I'm pretty sure it's not my server. While this isn't the end of the world, FIN_WAIT_2 can have a fairly long timeout.