H
Java网络编程-Socket
首篇Java教程讲通信是因为这对于什么语言都是最重要的,而且通信对于各种开发都是涉及其中的,而java作为最热门的语言也为我们提供了强大的通信类供我们调用。(本编为理论性,后期更新实操代码与案例)
首先通信编程又称为Socket编程,他可以分为:网络基础知识、InetAddress类、URL、TCP编程、UDP编程。
常规来讲两台主机要进行网络通信(就像人与人通信一样),他们需要知道双方的地址(IP地址),其次要使用相同的语言中文与中文(协议),还有相同的通信主题(端口)不然就是尴聊。在这里我大致形象的比喻而已,实则还是有差距的,但是计算机通过网络通信的三大条件:IP地址、协议、端口号。
所谓的TCP/IP协议(我们的语言)是目前世界上最为广泛的协议,就像是英语一样,不过我想很快就会变成中文了,因为中国人很多灯各种缘故,返回正题:它是以TCP和IP为基础的不同层次上多个协议的集合。也称为TCP/IP协议族或TCP/IP协议栈
·TCP:Transmission Control Protocol 传输控制协议
·IP:Internet Protocol 互联网协议
Socket 物理层:用户直接接触的(网线、网卡等)
传输层:TCP/IP协议
应用层:HTTP超文件传输协议、FTP文件传输协议、SMTP简单邮件传送协议、Telnet远程登录服务
端口:区分不同的应用程序(每台电脑可以同时运行多个程序)
每一个应用都有唯一的端口号,用来标志
常用端口:http:80、ftp:21、telnet:23
Java中的网络支持
针对不同的通信层次,java提供的网络功能有四大类:
1、InetAddress:用于标识网络上的硬件资源
2、URL:统一资源占位符,通过URL可以直接读取或写入网络上的数据
3、Sockets:使用TCP协议实现网络通信的Socket相关的类
4、Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信