本帖最后由 小石姐姐 于 2017-11-29 16:14 编辑
IP地址:InetAddress
网络中设备的标识,不易记忆,可用主机名
端口号
——用于标识进程的逻辑地址,不同进程的标识
传输协议
——通讯的规则
——常见协议:TCP,UDP
127.0.0.1自己的IP
端口号
物理端口 网卡口
逻辑端口 我们指的就是逻辑端口
——每一个网络程序都会至少有一个逻辑端口
——用于标识进程的逻辑地址,不同进程的标识
——有效端口:0~ 65535, 其中0~ 1024 系统使用或保留端口
通过360可以产看端口号
协议
UDP协议
——将数据源和目的封装成数据包中,不需要建立链接:
每个数据报的大小在限制在64K;因无法连接,是不可靠
协议:不需要建立链接,速度快
TCP协议
——建立链接,形成传输数据的通道;在链接中进行大数据量传输;通过
三次握手完成链接,是可靠协议;必须建立链接,效率会稍低
InetAddress:此类表示互联网(IP)地址。
getByName:ip地址是唯一的
getHostAddress():返回IP地址
getHostName:返回主机名
getLocalHost():返回本地主机。
DatagramPacket(byte[]buf,int length):构造DatagramPacket,用来接收长度为length的数据包
getAddress():返回某台机器的IP地址,此数据报将要发生该机器或者是从该机器接收到的
getPort():返回某台远程主机的端口号,此数据报将要发往该主机或者是从该主机接收到的
getData():返回数据缓冲区
getLength():返回将要发送或者接收到的数据的长度
DatagramSocket():构造数据报套接字并将其绑定到本主机上任何可用的端口
DatagramSocket(int port):创建数据报套接字并将其绑定到本主机上的指定端口
receive(DatagramPacket p):从此套接字接收数据报包
send(DatagramPacket p):从此套接字发送数据报包
TCP协议
TCP通信同UDP通信一样,都能实现两台计算机之间的通信,通信的两端都需要创建socket对象。
区别在于,UDP中只有发送端和接收端,不区分客户端与服务器端,计算机之间可以任意地发送数据。
而TCP通信是严格区分客户端与服务器端的,在通信时,必须先由客户端去连接服务器端才能实现通信,
服务器端不可以主动连接客户端,并且服务器端程序需要事先启动,等待客户端的连接。
ServerSocket(int port):创建绑定到特定端口的服务器套接字
accept():侦听并接受到此套接字的链接
getAddress():返回此服务器套接字的本地地址
Socket(String host,int port):创建一个流套接字并将其连接到指定主机上的指定端口号
Socket(InetAddress address,int port):创建一个流套接字并将其连接到指定IP地址的指定端口号
int getPort():该方法返回一个int类型对象,该对象是Socket对象与服务器端连接的端口号
InetAddress getLocalAddress():该方法用于获取Socket对象绑定的本地IP地址,并将IP地址封装成InetAddress类型的对象返回
void close():该方法用于关闭Socket连接,结束本次通信。在关闭socket之前,应将与socket相关的所有的输入/输出流全部关闭,
这是因为一个良好的程序应该在执行完毕时释放所有的资源
InputStream getInputStream():该方法返回一个InputStream类型的输入流对象,如果该对象是由服务器端的Socket返回,
就用于读取客户端发送的数据,反之,用于读取服务器端发送的数据
OutputStream getOutputStream():该方法返回一个OutputStream类型的输出流对象,如果该对象是由服务器端的Socket返回,就用于向客户端发送数据,反之,用于向服务器端发送数据
|
|