---------------------- android培训、java培训、期待与您交流! ----------------------
一、 UDP
UDP网络程序的编写:
● DatagramSocket类:创建收发UDP数据包的Socket对象。
(1)三个构造函数:
--public DatagramSocket () 一般发送法用这个构造函数
--public DatagramSocket(int port) 接收对方发来的数据必须用这个构造函数,必须指定端口号
--public DatagramSocket(int port,InetAddress laddr) 用于计算机程序在具有多个ip地址的计算机上运行
(2)close方法
(3)send(DatagramPacket p) 发送UDP数据包
(4)receive(DatagramPacket p)接收UDP数据包
● DatagramPacket类
(1) 两种构造函数
--public DatagramPacket (byte[] buf, int length) 用于创建接收数据的DatagramPacket 对象
--public DatagramPacket (byte[] buf, int length, InetAddress address, int port) 用于创建发送数据的DatagramPacket 对象
(2) getInetAddress和getPort方法 可以获得发送端的ip地址和端口号
(3) getData和getLength方法 getData返回DatagramPacket对象的字节数组缓冲区,getLength返回DatagramPacket对象中实际接收到的数据的长度,可以获得发送端发送数据和长度
● InetAddress类
InetAddress是用于表示计算机IP地址的一个类。而在日常应用中计算机地址是用”192.168.0.1”、”www.it315.org”等字符串格式来表示的。
(1)getByName方法 静态方法
getByName方法可以根据字符串格式的字符串地址来返回一个相应的InetAddress实例对象。
(2)getHostAddress方法
返回一个InetAddress对象当中所包装的用点分隔的字符串格式的ip地址。
二、 TCP
TCP客户端程序与TCP服务器端程序的交互过程:
(1)服务器程序创建一个ServerSocket,然后调用accept方法等待客户来连接。
(2)客户端程序创建一个Socket并请求与服务器建立连接。
(3)服务器接收客户的连接请求并创建一个新的Socket与该客户建立专线连接。
(4)建立了连接的两个Socket在一个单独的线程(由服务器程序创建)上对话。
(5)服务器开始等待新的连接请求,当新的连接请求到达时,重复步骤(2)到(5)的步骤。
TCP服务器程序模型的编写要点:
(1)TCP服务器程序要想接收多个客户端连接,需要循环调用ServerSocket. Accept方法
(2)服务器程序与每个客户端连接的会话过程不能互相影响,需要在独立的线程中进行
(3)一个线程服务对象与一个服务器端Socket对象相关联,共同来完成与一个客户端的会话
---------------------- android培训、java培训、期待与您交流! ----------------------