一. 网络协议
一般网络协议有两种:TCP和UDP通信协议.
TCP协议: 传输控制协议(Transmission Control Protocol)面向连接的通信协议.
UDP协议: 用户数据报协议 (User Datagram Protocol)无连接的通信协议.
二.网络套接字
Socket: 网络驱动层提供给应用程序编程的接口和一种机制.它是在应用程序中创建,通过绑定机制与驱动程序建立关系,告诉自
己对应的IP和Port.
三.Socket的工作过程
Socket发送数据过程:
(1) 应用程序创建Socket--->应用程序调用bind将Socket的信息(IP和Port)通知给驱动程序--->应用程序将要发送的
数据传送给Socket--->驱动程序从Socket取出数据并通过网卡发送出去.
Socket接收数据过程:
(2) 应用程序创建Socket--->应用程序调用bind将Socket的信息(IP和Port)通知给驱动程序--->驱动程序根据从网卡传
送来的数据报中的指定目标端口号,将处理后的数据传送到相应的Socket.
四.网络编程类及编程
这些类位于java.net包中,DatagramSocket类用于UDP通信,而ServerSocket类用于TCP通信的服务器端。
Socket类用于TCP通信的服务器和客户端.
UDP编程:public DatagramSocket()主动给对方发数据,系统随机分配端口号
public DatagramSocket(int port)先接受对方发送来的数据
public DatagramSocket(int port,InetAddress add)在有多个IP地址的计算机上运行
close()关闭DatagramSocket对象,通知驱动程序释放为DatagramSocket对象所保留的资源
send(DatagramPacket p) 用于发送UDP数据
receive(DatagramPacket p)用于接受UDP数据报
public DatagramPacket(byte[] buf,int length)
public DatagramPacket(byte[] buf,int length,InetAddress add,int Port)
getInetAddress()和getPort()方法,InetAddress表示计算机IP地址的一个类,在日常应用中计算机地址
用字符串格式表示。
使用静态方法getByName()得到InetAddress的实例对象。
调用getHostAddress()方法获得形如“192.168.0.1”这样的字符串IP地址。