什么是Socket?
一般来说,一台服务器是运行在台指定的计算机上,这个Socket被绑定在一个特定的端口上。而服务器就开始在哪里等待了,监听这个Socket看是否有客户端发送连接的请求。
对于客户端来说:客户端需要知道服务器所在的那个机器的主机名称和在监听那个端口。然后客户端发送一个连接的请求,期望能和服务器在指定端口上建立连接。客户端也必须指定一个端口,便于和服务器端进行通讯,但是一般这个端口号是有系统指定的。
如果顺利的话,服务器端就会接受连接的请求,同时取得同客户端连接的主机地址和端口号,如果有必要创建新的socket同客户端进行连接。
在客户端,如果连接被接受了,那么客户端的Socket就被创建成功了,客户端就能够通过这个Socket同服务器端进行通信了。
现在这个客户端只需要从Socket中读数据和写数据就能和服务器端进行通信了。
原文连接地址:http://docs.oracle.com/javase/tutorial/networking/sockets/definition.html
如有问题请指出,谢谢。