TCP:面向链接协议 它可以保证传输数据的安全性,
UDP:面向无连接协议,不能保证数据的完整性重要数据不建议使用
TCP:
ip地址:相当于我们的手机号
端口号:有两个字节组成,取值范围0-65535之间
注意:1024之前的端口号我们不能使用,已经被系统分配给已知的网络软件了
我们使用ip地址加端口号,就可以保证数据准确无误的发送到对方计算机的指定软件上了
使用TcP通讯:通讯的数据不仅仅是字符所以Io对象是字节流对象
SorverSocket类是服务器端
构造方法:
ServerSocket(int port)参数port就是端口号
accept()获取到客户端对象Socket 返回值是Socket
Socket类是客户端
构造方法:
Socket(String host,int port):创建一个有ip地址,和端口号 将其连接到指定的主机上的指定端口
String host:服务器主机的名称/服务器的ip地址
int port:服务器的端口号
方法
getOutputStream():方法获取OutputStream网络字节流对象
getInputStream():方法获取InputStream网络字节流对象
InetAddress类:
方法:
getByName(String host)通过主机名获取地址和主机名 也可以传地址 这个方法是静态的 放回值是InetAddress
getLocalHost()返回本地主机名和地址 这个方法是静态的 放回值是InetAddress
getHostAddress():方法是获取主机地址 (只获取地址不用截取)
getHostName():获取主机名(只获取主机名)。“
UDP通讯
Datagrampacket类 (打包拆包)
构造方法
Datagrampacket(byte[] buf,int length):j接受传过来的数据(接收端)
Datagrampacket (byte[] buf,int length, InetAddress address,int port)发送端(打包)
方法:
getAddress():获取某台机器(发送机器)的IP地址 返回值InetAddress
getPort():获取发送端的端口号
getData():获取数据返回值byte【】
getLength():放回发送或接受的数据长度 返回值int
6.2DatagramSocket类(快递公司接受包和发送包)
构造方法
DatagramSocket():发送端
DatagramSocket(int port)接受端
方法:
receive(DatagramSocket p)接受
send(DatagramSocket p)发送
原文:https://www.cnblogs.com/xkyy/p/13942322.html