目的:直接或间接通过网络协议与其它计算机进行数据交换,实现通信
问题:如何准确的定位到网络上一台或多台主机及主机上特定的应用,实现可靠高速传输的方式
/*
* InetAddress代表IP
*/
InetAddress inetAddress = InetAddress.getByName("localhost");
System.out.println(inetAddress.getHostName());
System.out.println(inetAddress.getHostAddress());
System.out.println(inetAddress);//localhost/127.0.0.1
InetAddress localHost = InetAddress.getLocalHost();
System.out.println(localHost);
@org.junit.Test
public void Server() throws IOException {
ServerSocket serverSocket = new ServerSocket(8899);
Socket accept = serverSocket.accept();
InputStream inputStream = accept.getInputStream();
byte[] b = new byte[1024];
int len;
while ((len=inputStream.read())!=-1){
String str = new String(b,0,len);
System.out.println(str);
}
inputStream.close();
accept.close();
serverSocket.close();
}
public static void main(String[] args) throws IOException {
InetAddress inetAddress = InetAddress.getByName("localhost");
Socket socket = new Socket(inetAddress,8899);
OutputStream stream = socket.getOutputStream();
stream.write("aabbcc".getBytes());
stream.close();
socket.close();
}
URL基本结构由五部分组成
<传输协议>://<主机名>:<端口号>/<文件名>#<片段名>?<参数列表>
片段名即锚点
URL url = new URL("http://localhost:8080/examples/jsp/?user=a");
System.out.println(url.getProtocol());//获取协议名
System.out.println(url.getHost());//获取主机名
System.out.println(url.getPort());//获取端口号
System.out.println(url.getPath());//获取文件路径
System.out.println(url.getFile());//获取文件名
System.out.println(url.getQuery());//获取参数名