网络编程

Ip地址:每台电脑在互联网上唯一的标识符
由四个网段组成,其本质是4个字节的二进制数

主机名:计算机名 (可能会与其他人重复)

 Java中的InetAdress类表示一个IP地址
主要是包括4个方法
获取地址对象
static InetAdress getLocalHost() 获取本地主机
static InetAdress getByName(String host) 根据主机名(或者IP地址 字符串)获取主机
如果是通过主机名获取的话就会把主机名和IP地址一道获取

根据地址对象获取IP字符串获取主机名字符串
String getHostName() 获取主机名称
String getHostAdress()获取主机字符串形式的IP


网络常识性知识
    ipconfig
    ping 判断两台计算机链接是否通畅
    本机IP127.0.0.1
    xxx.xxx.xxx.255广播地址

端口号
用来标识不同的程序,通过先找到IP地址然后再对应端口号就能连接两个程序了

网络编程俗称套接字编程
Socket
套接字
通信两端都有Socket
网络通信其实就是Socket之间的通信
数据在两个Socket之间通过IO传输
Socket编程一般使用TCP和UDP两种协议
UDP中没有明显的IO流但是TCP中会显示明确的IO流

UDP不可靠但是连接快

数据打包的相关类是DategramPacket
数据打包步骤
UDP发送端步骤
1.建立发送端
-创建DategramPacket的对象

2.创建数据
-创建数据

3.建立数据包
-创建数据包对象,然后调动构造方法
数据,数据长度,目标地址,端口号

4.调用Socket的发送方法
发送方法:send(数据包名)

5.关闭Socket
Socket关闭

数据接收包步骤
UDP接收端步骤
1.建立接收端
-指定端口号
DatagramSocket ds = new DatagramSocket(发送端的端口)

2.建立数据包
因为不需要知道IP地址所以直接用最基础的接收方法
创建数据数组用于接收数据
然后调用构造方法
DatagramPacket dp = new DatagramPacket(数据,数据长度)

3.调用Socket的接收方法
receive方法
ds.receive(dp)


4.解析数据


5.关闭Socket
Socket关闭


TCP下的网络编程
客户端和服务器端
客户端:
用的是Socket,步骤:
1.创建Socket的对象,传入的参数为IP地址(或者IP地址对象)和套接字
套接字可以确定接收来的IP地址
2.创建输出流对象,用的是getOutputStream方法
3.写值
4.关闭流

服务器端:
用的是ServiceSocket,步骤:
1.创建ServiceSocket的对象,套接字
2.创建输入流对象,用的是getInputStream方法
3.读取值
4.关闭流

如果是发送字符串,那么需要将字符串转换成字符数组然后一个字符一个字符的接收
注意,客户端在发送字符串的时候,服务器在等待,如果用read读取单个字符的话,服务器端会等待,因为服务器端不知道客户端是否发送完了信息,所以要给客户端加ShutOutput,用来终止输出

客户端上传文件,服务器接收并copy一份
客户端:
用IO流的知识,先创建一个字节流(FileInputStream)对象,然后将文件中的东西传输到服务器端口,注意,不是打印,是将数据数到服务器上,因为是实时传输,所以在服务器用字节输出流对象(FileOutputStream),传输到指定文件中。

posted @ 2018-02-12 22:42  Shuu_丶  阅读(118)  评论(0编辑  收藏  举报