网络基础
计算机网络分类:局域网、城域网、广域网
国际标准化组织ISO于1978年提出“开放系统互联参考模型”(ISO)
TCP/IP协议
TCP/IP是现在Internet中最常用的协议, 即: IP互联网协议、TCP传输控制协议
URL
URL(Uniform Resource Locator)统一资源定位符,可以直接使用此类找到互联网上的资源(如:一个简单的网页) public static void main(String[] args) throws Exception { String address = "http://www.baidu.com:80/aa/bb/a.html?userName=1&pwd=2#abc"; URL url = new URL(address); System.out.println(url.getProtocol());//获得协议部分 System.out.println(url.getHost());//获得主机名 System.out.println(url.getPort());//端口 System.out.println(url.getPath());//访问路径 System.out.println(url.getQuery());//get方式传递的参数 System.out.println(url.getRef());//具体访问位置 }
URLEncoder与URLDecoder(编码解码)
public static void main(String[] args) throws Exception { String str ="你好abc字母"; //编码 String en = URLEncoder.encode(str, "utf-8"); System.out.println(en); //解码 String de = URLDecoder.decode(en, "utf-8"); System.out.println(de); }
TCP程序设计
在Java中使用Socket(即套接字)完成TCP程序的开发,使用此类可以方便的建立可靠的、双向的、持续的、点对点的通讯连接。
在Socket的程序开发中,服务器端使用ServerSocket等待客户端的连接,对于Java的网络程序来讲,每一个客户端都使用一个Socket对象表示。
客户端
public static void main(String[] args) throws Exception { // 创建客户端 Socket socket = new Socket("127.0.0.1", 8888); // 向服务器发送消息 String msg = "hello?"; // 获得输出流对象 OutputStream os = socket.getOutputStream(); PrintStream out = new PrintStream(os); out.println(msg);// 发送 // System.out.println("消息发送完成!"); // 关闭资源 out.close(); socket.close(); }
服务器
public static void main(String[] args) throws Exception { // 创建服务器 ServerSocket server = new ServerSocket(8888); System.out.println("服务器已启动!!!"); // 等待客户端连接诶 Socket socket = server.accept();// 形成阻塞 // 接收客户端发的消息 InputStream is = socket.getInputStream(); BufferedReader in = new BufferedReader(new InputStreamReader(is)); String msg = in.readLine();// 按行读,需要数据存在换行符 System.out.println(msg); // 关闭资源 in.close(); server.close(); }
udp
UDP简介
在TCP的所有操作都必须建立可靠的连接,这样一来肯定会浪费大量的系统性能,为了减少这种开销,在网络中又提供了另外一种传输协议 —— UDP,不可靠的连接,这种协议在各个聊天工具中被广泛的应用。
在UDP开发中使用DatagramPacket包装一条要发送的信息,之后使用DatagramSocket用于完成信息的发送操作