Socket类与ServerSocket类是Java语言提供的实现Socket通信功能的两个类,都被定义在java.net包中。Socket类的功能是进行两端的通信,可以由Socket对象创建输入输出流对象进行读写(即接收与发送)操作。而ServerSocket类则用于监听客户端的连接请求,建立连接并创建服务器端的Socket类。ServerSocket类与Socket类分别用于服务器端和客户端的Socket通信,服务器端和客户端的区别是,服务器端等待接收连接请求而客户端申请连接。
Socket类的构造方法见表14-3。
表14-3 Socket类构造方法
Socket类的常用方法见表14-4。
表14-4 Socket类常用方法
ServerSocket类的构造方法见表14-5。
表14-5 ServerSocket类构造方法
ServerSocket类的常用方法见表14-6。
表14-6 ServerSocket类常用方法
使用ServerSocket类与Socket类进行Socket通信的基本过程如下:
在服务器端:(www.xing528.com)
1)创建一个ServerSocket对象。
2)通过执行该对象的accept()方法,创建Socket类对象等待客户机的连接请求或响应连接请求建立连接。
3)创建Socket的输入流对象接收对方的信息。
4)创建Socket的输出流对象向对方发送信息。
5)关闭Socket对象。
ServerSocket对象的accept()方法是一种阻塞性方法。所谓阻塞性方法就是指该方法被调用后,将等待客户端的请求,直到有一个客户端请求连接到相同的端口时该方法才创建并返回一个相应的Socket对象。
为了时刻监听是否有对方发来的信息,要创建并运行一个接收线程,在该线程中使用输入流对象读取来自客户端的信息并显示在本端,当接收的信息为结束标记时关闭Socket对象。而发送则可在程序中完成,发送过程使用输出流对象向客户端发送指定的信息。
在客户端:
1)创建一个Socket类对象向服务器端发出连接请求。
2)创建Socket的输入流对象接收对方的信息。
3)创建Socket的输出流对象向对方发送信息。
4)关闭Socket对象。
下面将介绍客户机与服务器之间的通信。实现服务器与客户机之间的连接,从而就需要两者之间连接的“协议”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。