Java网络编程
第二章 TCP通信
2.1 概述
TCp通信实现两个计算机进行数据交互 ,通信的两端要严格区分服务器(Server)和客户端(Client)
通信步骤
1.先启动服务器端,然后等待客户端连接;
2.客户端主动连接服务器端,连接成功才能通信。服务端不能主动连接客户端。
Java中提供了两个用于实现TCP通信的类
1.客户端:java.net.Socket
类表示。创建Socket对象,向服务器端发出连接请求,服务器响应请求,两者建立连接;
2.服务端:java.net.ServerSocket
类表示。创建ServerSocket
对象,相当于开启服务等待客户端连接;
2.2 Socket类
Socket
类:该类用来实现客户端套接字;
套接字:指两台设备间通讯的端点(ip地址和端口号)
构造方法
public Socket(String host, int port)
:创建套接字对象并将其连接到指定主机上的指定端口号。如果指定的host是null ,则相当于指定地址为回送地址。
构造举例,代码如下:
Socket socket = new Socket("127.0.0.1", 6666);
IP地址也可用localhost
Socket socket = new Socket("localhost", 6666);
成员方法
public InputStream getInputStream()
: 返回此套接字的输入流。- 如果此Scoket具有相关联的通道,则生成的InputStream 的所有操作也关联该通道。
- 关闭生成的InputStream也将关闭相关的Socket。
public OutputStream getOutputStream()
: 返回此套接字的输出流。- 如果此Scoket具有相关联的通道,则生成的OutputStream 的所有操作也关联该通道。
- 关闭生成的OutputStream也将关闭相关的Socket。
public void close()
:关闭此套接字。- 一旦一个socket被关闭,它不可再使用。
- 关闭此socket也将关闭相关的InputStream和OutputStream 。
public void shutdownOutput()
: 禁用此套接字的输出流。- 任何先前写出的数据将被发送,随后终止输出流。
2.3 ServerSocket类
ServerSocket
类:这个类实现了服务器套接字,该对象等待通过网络的请求。
构造方法
public ServerSocket(int port)