目录:
1.ISO和TCP/IP分层模型
2.IP协议
3.TCP/UDP协议
4.基于TCP的网络编程
5.基于UDP的网络编程
6.基于TCP的多线程的聊天室的实现
1.ISO和TCP/IP分层模型:
OSI分层模型(Open System Interconnection)为“开放系统互连参考模型”。为国际标准化组织ISO提出。
TCP/IP分层模型更和实际应用相贴近。
对应关系如上图。其中TCP/IP体系中,网络层对应IP(Internet Protocol),传输层对应TCP(Transmiss Control Protocl)。
分层思想:只有相邻的两层才能够进行信息的交互。如:应用层需要传输信息时,会将信息交给传输层,传输层会将信息进行包装,并传递给网络层;网络层会将信息再次包装,在传递给物理+数据链路层。而别的计算机需要解析信息时,也需要反向层层解析,才能获得应用所需的信息。
2.ip协议:
负责提供独一无二的ip地址。
传送信息时除了需要ip地址,也需要端口号。ip地址相当于选择连接互联网上的某台计算机,而端口号相当于选择连接一台计算机上的某个应用。
端口号可以从0-65535,通常分三类:①公认端口:0-1023,http默认80端口;②注册端口:1024-49151,通常应用程序应该使用这个范围内的端口;③动态/私有端口:49152-65535,应用程序不会主动会用这些端口,一般是动态分配的。
端口号又分tcp和udp:比如tcp888和udp888是不一样的。
3.TCP/UDP协议:
tcp可靠但是慢(因为有确认):如银行登录。
udp不可靠但是快:如发qq语音,如果丢包也就是语音兹拉几声;cf网络问题导致闪现;
如果网络在不太挤的话,udp也比较可靠,如果挤则肯能被路由器丢失,这就是丢包。
Socket:
一般网络编程也称为socket编程。
关于网络编程的类一般都在java.net:其下有两个类一个socket(client),一个serversocket(server)分别用来实现双向链接的client端和server端
这都是对t