A network connection begins with a socket. The working socket eventually has an address, a port, and a handle. The socket becomes either a connected socket (client) or a listening socket (server.)
The first step is to Bind the socket to the computer's IP address and a port. The operating system will supply a port if none is specified. Client sockets generally use a system assigned port to avoid any conflict. Server sockets, however, must specify a port to make the server accessible.
Client sockets will now attempt to Connect to a server's IP address and port.
Server sockets will Listen for connection attempts on their IP Address and port. They wait for connection attempts and Accept them. Once accepted, the server socket will create a new socket with a new handle and pass the accepted connection to it.
Client and accepted server connections are now free to Send and Receive from each other.
At some point, either the client or the server will want to close the connection. The graceful way to achieve this is to Shutdown the socket. This will inform the peer socket an intention to close. The ungraceful way is to just Close.
This is a basic explanation of networking. The process can end up being much more complicated. This explanation is the common sequence of events you will see traced in Why Can't I Connect?.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Fixed a bug that would cause a crash in Windows operating systems while trying to find text containing a wide string (extended character sets for multiple languages.) This will probably fix other bugs that I have not discovered.
Added Czech, Danish, and Polish to the supported languages. I now support Chinese(simplified character set), Czech, Danish, Dutch, English, French, German, Hindi, Italian, Polish, Portuguese, and Spanish.
Added a Progress / Cancel dialog while sending the contents of a file.
Added support for VPATH in Linux / Unix builds (thank you Matej Tyc.)
Last edit: Chris Ohmstede 2014-03-26
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Contact Information.
Email:
WhyCantIConnect@gmail.com
Networking in a nutshell.
A network connection begins with a socket. The working socket eventually has an address, a port, and a handle. The socket becomes either a connected socket (client) or a listening socket (server.)
The first step is to Bind the socket to the computer's IP address and a port. The operating system will supply a port if none is specified. Client sockets generally use a system assigned port to avoid any conflict. Server sockets, however, must specify a port to make the server accessible.
Client sockets will now attempt to Connect to a server's IP address and port.
Server sockets will Listen for connection attempts on their IP Address and port. They wait for connection attempts and Accept them. Once accepted, the server socket will create a new socket with a new handle and pass the accepted connection to it.
Client and accepted server connections are now free to Send and Receive from each other.
At some point, either the client or the server will want to close the connection. The graceful way to achieve this is to Shutdown the socket. This will inform the peer socket an intention to close. The ungraceful way is to just Close.
This is a basic explanation of networking. The process can end up being much more complicated. This explanation is the common sequence of events you will see traced in Why Can't I Connect?.
DNS (Domain Name System) in a nutshell.
DNS matches user friendly names to IP addresses.
For instance:
smtp.gmail.com = 173.194.79.108
DNS is also a way to handle server repair and maintenance. The IP address may be changed for the name to maintain the server's availability.
Release 1.7.1 is now available.
In this release I've:
Fixed a bug that would cause a crash in Windows operating systems while trying to find text containing a wide string (extended character sets for multiple languages.) This will probably fix other bugs that I have not discovered.
Added Czech, Danish, and Polish to the supported languages. I now support Chinese(simplified character set), Czech, Danish, Dutch, English, French, German, Hindi, Italian, Polish, Portuguese, and Spanish.
Added a Progress / Cancel dialog while sending the contents of a file.
Added support for VPATH in Linux / Unix builds (thank you Matej Tyc.)
Last edit: Chris Ohmstede 2014-03-26
Activating Chinese and Hindi fonts in Windows XP
Select Settings->Control Panel from the Start Menu.
Select Regional and Language Options.
Select the Languages tab.
Check Install files for complex script and right-to-left languages (including Thai) to activate Hindi fonts.
Check Install files for East Asian languages to activate Chinese fonts.
Last edit: Chris Ohmstede 2014-01-22