网络编程网络编程 概念
网络编程的三要素(UDP 速度快 在网络环境差情况等下 有可能造成少量丢失数据 IP地址 IPv4 是给每个连接在网络上的主机分配一个32 bit 地址。按照TCP/IP规定,IP地址用二进制来表示,每个IP地址长32bit,也就是4个字节。例如一个采用二进制形式的IP地址是“11000000 10101000 00000001 01000010”,这么长的地址,处理起来也太费劲了。为了方便使用,IP地址经常被写成十进制的形式,中间使用符号“.”分隔不同的字节。于是,上面的IP地址可以表示为“192.168.1.66”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多 常用命令 Windows+R 运行 cmd 运行管理员 ping IP地址 检查网络是否连接 127.0.0.1 是会送地址,可以代表本机地址,一般用来测试使用 InetAddress:此类表示Internet协议(IP)地址 String getHostName() 获取此IP地址的主机名 端口 端口号 两个字节表示的整数 取值范围是0~65535 0~1023之间的端口号系统保留 需要使用1024以上的端口号 端口号如果被占用导致当前程序启动失败 UDP协议 用户数据包协议 特点:速度快 无连接 无法保证数据完整 (网络环境差,传输数据量大...情况下无法保证数据完整) UDP通信程序 UDP协议不可靠的网络协议,在通信的两端各建立一个Socket对象,这两个Socket只是发送,接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念 构造方法 DatagramPacket(byte[] buf,int len,InetAddress add,int port) 创建数据包,发送长度为len的数据包到指定主机的指定端口 void send(DatagramPacket p) 发送数据报包 void receive(DatagramPacket p) 从此套接字接受数据报包 (调用后会一直等待监听,处于阻塞状态,一直到别人发送给它数据,它开始了) UDP接收数据 DatagramSocket(int port) 构造数据报套接字并将其绑定到本地主机上的指定端口 相关方法 int getLength() 返回要发送的数据的长度或接收的数据的长度 Java中的TCP通信 Java为客户端提供了Socket类,为服务器端提供了ServerSocket类 Socket(InetAddress address,int port) 创建流套接字并将其连接到指定IP指定端口号 相关方法 OutputStream getOutputStream() 返回此套接字的输出流 TCP接收数据 构造方法 相关方法 void shutdownInput() 将此套接字的输入流放置在“流的末尾” void shutdownOutput() 禁止用此套接字的输出流
|