Scenario: Joe is trying to call Mary's workplace; he doesn't really care who he talks to there (Mary, Jane, Helga, Kyoko), so he just dials the main company number, which has been (temporarily) changed to 9. The solution, of course, is to dial up Mary or (Jane, or Helga, etc.) directly.
This means the IRC server is unreachable for everybody. Most probably the admins have tweaked their DNS records to point to the non-existant IP number 255.255.255.255 to detour a DDoS (Distributed Denial of Service) attack. Better try a specific IRC server on that network or another network! (When they set the server IP address to be 255.255.255.255 you will get the error "Can't assign requested address". When they set it to 127.0.0.1 you will get the error "Connection refused" because you are trying to connect to yourself as the server. If they disable the address altogether (set it to nothing) you will get the error "Unable to resolve IRC server".)
Scenario: Joe gets a dial tone but dialing Mary's telephone number doesn't make her phone ring
These errors occur on if the destination network is down, or perhaps one of the network segments on the way to that network is down with no way to reroute the data packets.
Scenario: Joe gets a dial tone but in the process of dialing Mary and making her phone ring, her switchboard went down.
The server that hosts the IRC server, or the network it's on, crashed, rebooted or got reset. Just reconnect in a few minutes.
Scenario: Joe and Mary are on their cell phones. Joe's battery freaks out briefly, making him think that the call to Mary had ended, so he hung up.
This error occurs on the client-side for many reasons. Essentially, it is the same thing as the next error (which is server-side).
Connection reset by peer is a tough one because it can be caused by so many things. In all cases, the server determines that the socket is no longer good and closes it from its side.
Scenario: Mary couldn't make out what Joe was saying anymore, so she hung up rather than lose his messages (data).
A read error occurs when a server cannot successfully read from a user's client. Servers gather information from the client by text, setup, and other items.When the server receives an error when reading from a client, it then disconnects the user, resulting in a read error quit message.
Scenario: Mary was trying to talk to Joe but didn't think she was getting through, so she hung rather than lose his messages (data).
A write error occurs when a server cannot successfully write to a user's client. When the server receives information, it usually responds with information of its own. When the server receives an error when writing to a client, it then disconnects the user, resulting in a write error quit message similar to the read error format.
Scenario: Mary, having been raised in a household with too many kids and always craving attention, keeps asking to make sure that Joe is still on the line and listening. If he doesn't reply fast enough to suit her, she hangs up.
Servers automatically ping users at a preset time. The reason for this is to ensure the client is still connected to the server. When you see "PING? PONG!" results in your status window, it means the server has pinged your client, and it has responded back with a pong to ensure the server that you are still connected. When this does not happen and you disconnect without the server's knowledge, the server will automatically disconnect the user when it does not receive a response, resulting in a ping timeout. Ping timeouts occur to EVERYONE.
Scenario: Mary had picked up a sticky note with a message she needed to relay to Joe, but somehow between her hand and her mouth, the message got misplaced. Mary was trying to talk to Joe but didn't think she was getting through, so she hung up rather than lose his messages (data).
A broken pipe error occurs when the server knows it has a message but can't seem to use its internal data link to get the data out to the socket.
Scenario: Lots of other reasons; perhaps the operator broke in and gave Mary a message that made her doubt the validity of the call so she hung up.
Scenario: Joe wanted to call Mary, but his hands were already full.
This means mIRC is having a problem creating a new a network socket; it cannot use your Internet connection to connect to an IRC server. If you are using a lot of other network applications at the same time, you might get this error. Close some other applications and/or reset your Internet connection to fix this problem. This error also indicates a shortage of resources on your system. It can occur if you're trying to run too many applications (of any kind) simultaneously on your machine. If this tends to occur after running certain applications for a while, it might be a symptom of an application that doesn't return system resources (like memory) properly. It may also indicate you are not closing the applications properly. If it persists, exit Windows or reboot your machine to remedy the problem. You can monitor available memory with Windows Explorer's "Help/About..." command.
Scenario: Joe dialed Mary's number, but it never rang, or, it rang but she never picked it up.
Things can get slow on the Internet. Either when you try to reach a far away server or when connections somewhere in between your Internet provider and the IRC server are broken. Very often you didnt have a (proper) connection to the Internet even before you started mIRC. Patience is usually the best option here. Try it again in a few minutes or try another IRC server. This has nothing todo with mIRC. There is not something you can magically fix.
A connect or send request failed because the connected party did not properly respond after a period of time. (The timeout period is dependent on the communication protocol.)
Check the obvious first: check that the destination address is a valid IP address. If you used a hostname, did it resolve to the correct address? If the hostname resolution uses a local host table, it's possible you resolved to an obsolete address. Can you ping that hostname?
Do you have a router configured? Is the router up and running (check by pinging it, and then ping an address on the other side of it)? Try a traceroute to the destination address to check that all the routers are functioning.
Check your subnet mask. If you don't have the proper subnet mask, your network system may treat a local address as a remote address (so it forwards addresses on the local subnet to the router, rather than broadcasting an ARP request locally), or visa versa.
Scenario: Mary isn't even home. Try Jane down the road.
No connection could be made because the target machine actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host.
Either you went to the wrong host, or the server application you're trying to contact isn't executing. Check the destination address you are using. If you used a host name, did it resolve to the correct address? If the host name resolution uses a local host table, it's possible you resolved to an old obsolete address. It's also possible that the local services file has an incorrect port number (although it's unlikely).
You can verify that the remote system is rejecting your connection attempt by checking the network statistics locally. Check that your network system (WinSock implementation) has a utility that shows network statistics. You could use this to verify that you're receiving TCP resets or ICMP Port Unreachable packets each time you attempt to connect.
This is one of the most frequent errors and one of the best to encounter, since it's one of the least ambiguous. There are only a few possible causes for this error:
You tried to connect to the wrong port. This is a common problem.
You tried to connect to the wrong destination host address.
The server application isn't running on the destination host.
The server application isn't listening on the right port.
Scenario: Joe can't even find his phone.
This normally means you are not properly connected to the Internet. Your Windows cannot find out how or where to find the IRC server. It has nothing todo with mIRC or IRC! Check your connection (reconnect if everything seems fine) and try again.
Scenario: Joe is trying to call Mary but the operator doesn't know who Mary is.
This error occurs when the DNS records (that convert hostnames to IP addresses for actual use) are altered or non-existant (no authoritative DNS server could be located).
The DNS server for that hostname is down.
The DNS records for that domain are no longer active or valid.
The new DNS records for a domain which has changed IPs have not yet propagated so they still point to the old IP address, which can also give a Connection Refused error or Connection Timed Out error.