网络编程是指编写运行在多个设备(计算机)的程序,这些设备都经过网络链接起来。
网络编程是指编写运行在多个设备(计算机)的程序,这些设备都经过网络链接起来。java
java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通讯细节。你能够直接使用这些类和接口,来专一于解决问题,而不用关注通讯细节。编程
java.net 包中提供了两种常见的网络协议的支持:服务器
是传输控制协议的缩写
,它保障了两个应用程序之间的可靠通讯。一般用于互联网协议,被称 TCP / IP
。下面主要学习两个知识点:。网络
Socket 编程
:这是使用最普遍的网络概念,它已被解释地很是详细。并发
URL 处理
:这部分会在另外的篇幅里讲,点击这里更详细地了解在 Java 语言中的 URL 处理。socket
套接字使用TCP提供了两台计算机之间的通讯机制。 客户端程序建立一个套接字,并尝试链接服务器的套接字。学习
当链接创建时,服务器会建立一个 Socket 对象。客户端和服务器如今能够经过对 Socket 对象的写入和读取来进行通讯。.net
java.net.Socket 类表明一个套接字,而且 java.net.ServerSocket 类为服务器程序提供了一种来监听客户端,并与他们创建链接的机制。code
Socket 客户端实例
以下的 GreetingClient 是一个客户端程序,该程序经过 socket 链接到服务器并发送一个请求,而后等待一个响应。server
// 文件名 GreetingClient.java import java.net.*; import java.io.*; public class GreetingClient { public static void main(String [] args) { String serverName = args[0]; int port = Integer.parseInt(args[1]); try { System.out.println("链接到主机:" + serverName + " ,端口号:" + port); Socket client = new Socket(serverName, port); System.out.println("远程主机地址:" + client.getRemoteSocketAddress()); OutputStream outToServer = client.getOutputStream(); DataOutputStream out = new DataOutputStream(outToServer); out.writeUTF("Hello from " + client.getLocalSocketAddress()); InputStream inFromServer = client.getInputStream(); DataInputStream in = new DataInputStream(inFromServer); System.out.println("服务器响应: " + in.readUTF()); client.close(); }catch(IOException e) { e.printStackTrace(); } } }