From WikiChip
On Sockclose - Events - mIRC
< mirc‎ | on events
Revision as of 08:09, 6 February 2024 by KindOne (talk | contribs) (Parameters: Link access levels)

The ON SOCKCLOSE event triggers when a TCP socket connection is closed by the remote host.

Synopsis

ON <level>:SOCKCLOSE:<name>:<commands>

Parameters

<level>The corresponding access levels for the event to trigger.

<matchtext>The name of the target socket. Can be a wildcard.

<commands>The commands to be performed when the event listener's criteria is met.

Connection State

The reason a socket is closed could be because of an error, rather than because the remote host closed your connection on purpose, you should check $sockerr for error, here is a list of the possible value for $sockerr inside the on sockclose event:

  • 0 - EOF from the remote host received, this actually means the remote host closed your connection successfuly.
  • 3 - An error occurred while receiving data, or a SSL error occurred (most likely SSL cert cypher incompatibility), $sock().wsmsg will contain a more specific error message.
  • 5 - An SSL error of some kind occurred when trying to initialize the connection. Unlikely to happen. If you get this you most likely are trying to initiate an SSL socket connection without SSL capabilities (check {mIRC|$sslready}}, which is $false if you don't have them)

Example

When the socket closes, echo that the socket has closed and some details about it to the active window:

ON *:SOCKCLOSE:*: {
  if (!$sockerr) echo -ag ::=> $sockname Connection to $sock($sockname).ip on port $sock($sockname).port closed by the remote host!
  else echo -ag ::=> An error occured with the socket $sock($sockname).wsmsg
}

Compatibility

Added: mIRC v6.14
Added on: 03 Mar 2004
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.


See Also