Java网络编程函数:Socket类和ServerSocket类的使用方法。
Java网络编程是指使用Java语言进行网络通信编程,常见的网络编程基础类有Socket和ServerSocket,这两个类提供了Java程序与网络之间的通讯。
1.Socket类
Java的Socket类是提供了一个套接字类,当我们要和网络中的其他程序建立连接时,必须创建一个Socket对象。Socket类主要提供了以下方法和属性:
1)属性:
private InputStream in;
private OutputStream out;
private InetAddress localAddress;
private InetAddress remoteAddress;
private int localPort;
private int remotePort;
private SocketImpl impl;
2)构造方法:
Socket(String host, int port)
Socket(InetAddress address, int port)
Socket(String host, int port, InetAddress localAddress, int localPort)
Socket(InetAddress address, int port, InetAddress localAddress, int localPort)
3)方法:
(1)InputStream getInputStream():返回 Socket 关联的输入流,用来接收数据。
(2)OutputStream getOutputStream():返回 Socket 关联的输出流,用来发送数据。
(3)void close():关闭 Socket 和其相关流。
(4)boolean isConnected():测试 Socket 是否已连接。
(5)InetAddress getLocalAddress():返回本地IP地址。
(6)int getLocalPort():返回本地端口。
(7)InetAddress getInetAddress():返回远程IP地址。
(8)int getPort():返回远程端口。
(9)boolean isClosed():测试 Socket 是否已关闭。
(10)boolean isInputShutdown():测试 Socket 是否已关闭其输入流。
(11)boolean isOutputShutdown():测试 Socket 是否已关闭其输出流。
2.ServerSocket类
Java的ServerSocket类是提供了一个服务器套接字类,当我们要开发一个网络服务器应用时,必须创建一个ServerSocket对象,同时等待其他Socket来连接。ServerSocket类主要提供了以下方法和属性:
1)属性:
private boolean created;
private boolean bound;
private boolean closed;
private boolean oldImpl;
private ServerSocketImpl impl;
2)构造方法:
ServerSocket(int port)
ServerSocket(int port, int backlog)
ServerSocket(int port, int backlog, InetAddress bindAddr)
3)方法:
(1)Socket accept():侦听并接受到此套接字的连接请求。
(2)void bind(SocketAddress endpoint):将 ServerSocket 对象与指定IP和端口绑定。
(3)void close():关闭此套接字。
(4)int getLocalPort():返回此套接字的端口号。
(5)boolean isBound():返回此套接字是否已绑定到IP地址和端口号。
(6)boolean isClosed():返回此套接字是否已关闭。
Socket类和ServerSocket类是Java网络编程中比较基础的类,通过这些类,我们可以实现客户端和服务器之间的通信。在使用这些类的时候还要注意一些基本的知识点,比如网络协议、IP地址、端口号、流等等。同时,我们还应该掌握Java IO的知识,以便在网络编程中使用输入流和输出流。
