JavaSE入门学习47:Socket网络通信编程
Posted life is wonderful
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE入门学习47:Socket网络通信编程相关的知识,希望对你有一定的参考价值。
今天既然我们学习Java的Socket网络通信编程,那么在我们的现实生活中那些是Socket编程的应用呢?可以想象
我们最常用的聊天工具软件QQ就是,当然MSN也是啦。
一网络基础知识
两台计算机通过网络进行通信的必要条件:
1)IP地址
2)网络协议
3)端口号
两台计算机网络通信示意图:
(1)TCP/IP协议
1)TCP/IP协议是目前世界上应用最为广泛的协议,是以TCP和IP为基础的不同层次上多个协议的集合,也称
TCP/IP协议族或TCP/IP协议栈。
2)TCP:Transmission Control Protocol(传输控制协议)。
3)IP:Internet Protocol(互联网协议)(2)TCP/IP模型
TCP/IP模型示意图:
1)应用层(最高层,HTTP协议表示超文本传输协议,FTP协议表示文件传输协议,SMTP协议表示简单邮件传送协
议,Telnet协议表示远程登录服务)。
2)传输层(TCP/IP协议),TCP和UDP属于传输层。这就是我们程序员编程的一层。
3)网络层IP协议是属于网络层
4)数据链路层
5)物理层(网线,双绞线,网卡)
(3)IP地址
1)为实现网络中不同计算机之间的通信,每台机器都必须有一个唯一的标识——IP地址。
2)IP地址格式:数字型,如:192.168.0.1(Ipv4)。
想要深入了解的可以看我的这篇文章:IP地址的规划和设计方法(一)。
(4)端口
1)用于区分不同的应用程序。
2)端口号范围为0~65535,其中0~1023为系统所保留。
3)IP地址和端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP
的基础。
4)HTTP协议使用80端口,FTP协议使用21端口,SMTP协议使用25端口,POP3协议使110端口, telnet协议使
用110端口。
(5)Java中的网络支持
针对网络通信的不同层次,Java提供的网络功能有四大类:
1)InetAddress类:用于标识网络上的硬件资源。
2)URL类:统一资源定位符,通过URL可以直接读取或写入网络上的数据。
3)Sockets类:使用TCP协议实现网络通信的Socket相关的类。
4)Datagram类:使用UDP协议,将数据保存在数据报中,通过网络进行通信。
二Java中的InetAddress类的应用
(1)InetAddress类
1)InetAddress类用于标识网络上的硬件资源,标识互联网协议(IP)地址。
2)java.net.InetAddress类表示互联网协议(IP)地址。
InetAddress类中的方法:
以上是关于JavaSE入门学习47:Socket网络通信编程的主要内容,如果未能解决你的问题,请参考以下文章