一、网络基础知识
1、两台计算机之间的通行需要有相同的协议(TCP/IP协议),相同的端口号,各自唯一标识的IP地址。【端口号范围:0~65535,其中0~1023为系统所保留】
2、IP地址和端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础。
3、两台计算机相互通信需要知道两台计算机的IP地址和端口号。
4、常用的协议端口号。(超文件传输协议)http:80 (文件传输协议)ftp:21 (远程登录协议)telnet:23
二、InetAddress类
InetAddress类不用通过new获取实例,直接用getLocalHost()方法获得返回地址InetAddress的实例。
三、URL——资源的地址
四、TCP编程
1、TCP编程Socket通信原理
2、实现步骤:
2.1、创建ServerSocket/Socket;
2.2、获取Socket连接的输入/输出流;
2.3、对Socket中的输入输出流进行读/写操作;
2.4、关闭输入输出流、关闭Socket;
代码:
多线程TCPServer类:
Server线程类:
TCPClien类:
五、UDP编程
1、主要的类:
DatagramPacket 和 DatagramSocket这两个类
2、服务端编写步骤:
2.1、建立DatagramSocket
2.2、创建DatagramPacket用来接收服务端发送来的信息
2.3、接收信息
2.4、读取信息
3、客户端编写步骤:
3.1、获取服务端的IP地址和端口号
3.2、创建DatagramPacket用来放需要发送的数据信息
3.3、建立DatagramSocket
3.4、发送信息
代码:
多线程UDPServer类:
Server线程类:
UDPClient类:
需要注意:在TCP编程中,服务器和客户端建立连接传输数据时,每次通过流传输完数据时需要用Socket的shutdownOutput()/shutdownInput()的方法关闭输出输入流。