Socket 1:Socket通信的一些基本概念
- 摘要:1.协议:网络中计算机之间通信的规则。常用的协议:1)超文本传输协议(HTTP)2)文件传输协议(FTP)3)简单邮件传输协议(SMTP)4)网络新闻传输协议(NNTP)TCP(传输控制协议):是面向连接的传输层协议(打电话)。UDP(用户数据包协议):是无连接的传输层协议(发短信)。区别:TCP在正式收发数据前,必须和对方建立可靠的连接。UDP可不与对方建立连接,直接把数据包发送过去。2.端口:用于实现程序间的通信。1)Telnet协议232)简单邮件传输协议253)文件传输协议214
- 标签:基本概念 socket通信 概念 socket
1.协议:
网络中计算机之间通信的规则。
常用的协议:
1)超文本传输协议 (HTTP)
2)文件传输协议 (FTP)
3)简单邮件传输协议 (SMTP)
4)网络新闻传输协议 (NNTP)
TCP(传输控制协议):是面向连接的传输层协议(打电话)。
UDP(用户数据包协议):是无连接的传输层协议(发短信)。
区别:
TCP在正式收发数据前,必须和对方建立可靠的连接。
UDP可不与对方建立连接,直接把数据包发送过去。
2.端口:
用于实现程序间的通信。
1)Telnet协议 23
2)简单邮件传输协议 25
3)文件传输协议 21
4)超文本传输协议 80
3.客户端/服务器模式(CS:Client/Server)
客户端:向另一台计算机请求服务的计算机。
服务器:处理客户端请求的计算机。
CS优点:
服务器和客户端分摊工作;
服务器可以同时为数千台客户端服务;
多个客户端可以同时访问服务器。
4.IP 地址
连接至网络的每台计算机都是唯一的;
32 位数字,四个用点号分隔的数字;
包括网络 ID 和主机 ID;
网络的类包括 A、B、C和 D 类。
5.域名系统
将特定 IP 地址映射成字符串,映射由域名服务器系统维护。
6.套接字(Socket)
是 Internet 通信的端点;
与主机地址和端口地址相关联;
客户端和服务器通过套接字建立连接和进行通信。
TCP/IP 套接字:
较可靠的双向流协议;
发送任意数量的数据;
提供消息确认、错误检测和错误恢复等服务。
UDP 套接字:
比较不可靠。
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
Socket和ServerSocket类库位于java.net包中。
ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
连接过程:
根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。
(1)服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。
(2)客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
(3)连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
连接原理图:
- class='magplus' title='点击查看原始大小图片' />
- 大小: 27.1 KB