第三篇
网络编程:java语言中,提供了一套统一的编程接口,很多细节底层化,所以可以进行无痛的网络通信编程。
提供Socket套接字技术。
常用通信协议:
UDP协议:不需要建立链接,相对而言,开销比较小,效率高。
TCP/IP协议:在通信之前需要建立链接,通信后需要断开连接。一般会有一个作为服务器端,有一个做客户端。
常用方法:
static InetAddreass getByname(String host)
返回一个指定字符串主机的地址信息
主机名:可以使用IP来描述,还可以使用域名来描述(通常域名会绑定一个IP地址)
String getHostHome():
返回用于描述主机的字符串名称
String getHostAddress():
返回用于描述主机的ip地址
Static InetAddress getLocalHost()
返回本地主机地址对象
套接字编程:
- Socket---在客户端使用,连接成功后,会获取一个Socket对象
- ServerSocket---在服务器端使用创建服务端套接字对象,当被连接成功后,会获取一个Socket对象
注意:通信时使用各自获取的Socket对象来通信。
编程步骤:
1.服务器对象
2.服务器等待被连接
3.客户端连接服务器(成功与否)
4.客户端与服务器进行通信
5.断开连接
端口号:一个16位无符号二进制整数,范围:0-65535,和IP一起用来指定一个运行中程序的位置。是运行中程序的唯一标识符(不运行端口号无意义,且运行中端口号不能一样)
通常0-1023是操作系统预定义的端口号,所以我们在自定义时应尽可能使用1024-65535这个范围的数
ServerSocket类的使用:
构造器:
ServerSocket(int port):
创建一个指定端口的ServerSocket对象
常用方法:
Socket accept():
等待客户端连接返回客户端的Socket对象
void close():
关闭此套接字
InterAddress getInetAddress():
获取服务器端的端接口
Int getLocalPort():
获取服务器端的端口号
SocketAddress getLocalSocketAddress():
返回此套接字绑定到端点的地址
Socket类的使用:
构造器:
Socket(String host,int port)
向指定主机名和指定端口号的服务器发送请求连接,连接成功,会获取Socket对象
常用方法:
void close():
关闭此套接字
InetAddress getInetAddress():
返回套接字所连接服务器的地址
int getPort():
返回套接字所连接远程及其的端口号
Int getLocalPort():
返回本地端口
InputStream getInputSteam():
获取输入流对象,接收远程及其发送消息
OutputStream getOutputStream():
获取输出流对象,向远程及其发送消息