TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。
Java中的网络支持
针对网络通信的不同层次,Java提供了不同的API,其提供的网络功能有四大类:
①InetAddress:用于标识网络上的硬件资源,主要是IP地址
②URL:统一资源定位符,通过URL可以直接读取或写入网络上的数据
③Sockets:使用TCP协议实现的网络通信Socket相关的类
④Datagram:使用UDP协议,将数据保存在用户数据报中,通过网络进行通信。
TCP编程:
TCP协议是面向连接的、可靠的、有序的、以字节流的方式发送数据,通过三次握手方式建立连接,形成传输数据的通道,在连接中进行大量数据的传输
Java中基于TCP协议实现网络通信的类有客户端的Socket类和服务器端的ServerSocket类
740688-20150907234728090-211300057.jpg
socket实现通信包括服务端和客户端
服务器端:
① 创建ServerSocket对象,绑定监听端口,端口一般选择1024-65535的某个端口
② 通过accept()方法监听客户端请求
③ 连接建立后,通过输入流读取客户端发送的请求信息
④ 通过输出流向客户端发送相应信息
⑤ 关闭相关资源
public class server {
public static void main(String[] args){
try {
//1.创建一个serverSocket,绑定监听端口
ServerSocket serverSocket=new ServerSocket(8888);
//2.调用accept()方法开始监听,等待客户端连接
System.out.println("服务器即将启动 等待客户端连接");
Socket socket=serverSocket.accept();
//3.获取输入流,用来读取客户端发送的信息
InputStream is=socket.getInputStream();//字节输入流;
InputStreamReader isr=new InputStreamReader(is);//将字节输入流转换为字符输入流
BufferedReader br=new BufferedReader(isr);//为输入流添加缓冲
//循环读取客户端提交的信息
String info=null;
while ((info=br.readLine())!=null){//循环读取
System.ou