`
schy_hqh
  • 浏览: 556062 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

(网络编程)应用层URLConnection与传输层Socket的关系

 
阅读更多

Socket是传输层的技术,包含了UDP和TCP两种传输方式。

HTTP协议是应用层的协议,应用层协议还有FTP文件传输协议。

 

Java中,应用层使用URL和URLConnection完成HTTP协议和Socket流的封装。

 

package com.gc.socket;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class HttpDemo {
	public static void main(String[] args) throws IOException {
		/**
		 * URLConnection对象将HTTP协议头的解析、Socket传输进行了封装
		 * 对外提供方法封装好的方法
		 * 开发者不用面对Socket编程处理与服务端的连接
		 * 直接通过该对象就能完成基于HTTP协议的编程
		 */
		URL url = new URL("http://www.baidu.com?name=zs");
		
		//port=-1,服务端会自动转为80端口
		System.out.println(url.getProtocol()+","+url.getHost()+","+url.getPort()+","+url.getQuery());
		
		/**对http头信息进行了内部处理,并完成了与服务器之间的socket连接*/
		URLConnection conn = url.openConnection();
		
		System.out.println(conn.getContentType());
		System.out.println(conn.getContentLength());
		
		InputStream in = conn.getInputStream();
		
		byte[] buf = new byte[1024];
		
		int len = 0;
		
		while((len=in.read(buf))!=-1)
			System.out.println(new String(buf,0,len));
		
		in.close();
	}
}

 

分享到:
评论

相关推荐

    Java 网络编程课件

    Java网络编程是Java开发中不可或缺的一部分,它涵盖了网络通信的各种层面,从应用层到物理层。在Java中,网络编程主要涉及三个核心概念:网络协议、URL编程和Socket编程。 首先,网络协议是网络通信的基础,它定义...

    《Java网络编程实例:Java网络编程实例》

    这包括网络接口层(如IP协议)、传输层(TCP和UDP协议)以及应用层(如HTTP、FTP等)。理解这些协议的工作原理对于编写网络程序至关重要。 2. **Java网络API**:Java提供了丰富的网络API,如`java.net`包下的Socket...

    java网络编程第四版pdf

    除了以上章节,书中还涵盖了套接字编程、服务器Socket、网络套接字API、URL和URLConnection类,以及高级主题如NIO(非阻塞I/O)和异步I/O。这些内容详细阐述了如何利用Java进行网络通信,包括建立连接、发送和接收...

    unit14 网络编程概述(169).rar

    1. **网络基础**:首先会介绍网络的基本模型,如OSI七层模型和TCP/IP四层模型(应用层、传输层、网络层、链路层),理解这些模型有助于理解网络数据的传输过程。 2. **Java网络API**:Java提供了一套强大的网络编程...

    java网络编程视频教程

    你会了解到网络的分层模型,包括物理层、数据链路层、网络层、传输层以及应用层,理解每一层的功能和它们之间的交互方式。 在Java网络编程中,Socket编程是核心内容。视频会详细讲解如何创建和使用Socket进行双向...

    网络编程详细视频教程

    - OSI模型(开放系统互连模型)是一个理论框架,用于理解网络通信的不同层次及其功能,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 - TCP/IP模型是一个简化版的OSI模型,主要关注网络层、...

    java网络编程试卷及答案.pdf

    - Java Socket编程:Socket是Java提供的网络通信接口,用于实现TCP/IP通信。 - DatagramSocket与DatagramPacket:用于UDP(用户数据报协议)的通信,基于无连接的数据包传输。 - ServerSocket与Socket类的区别:...

    Java程序设计之网络编程基础教程课件

    Java网络编程主要基于Java的Socket API,该API提供了在TCP/IP协议上建立连接和传输数据的接口。Java.net包下包含Socket和ServerSocket类,分别用于客户端和服务器端的编程。此外,URL和URLConnection类则用于HTTP...

    Java网络编程学习资料

    Java网络编程是软件开发中的重要领域,特别是在分布式系统和互联网应用中不可或缺。本文将深入探讨标题和描述中提及的几个关键知识点:Java套接字编程、Java的网络功能与编程基础、TCP网络协议以及Java Transaction ...

    java网络编程实例2

    3. **TCP编程**:TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。Java中的Socket和ServerSocket类用于实现TCP编程,它们允许程序创建客户端和服务器端的连接,实现数据的双向传输。 4....

    java网络编程 北京大学计算机

    1. **TCP/IP协议**:Java网络编程主要基于TCP/IP协议栈,了解其工作原理,如传输层的TCP(传输控制协议)和应用层的HTTP、FTP等,对于开发网络应用至关重要。 2. **Socket编程**:Java通过Socket类提供了一套API来...

    Java网络编程讲义

    1. 网络模型:讲解TCP/IP五层模型(应用层、传输层、网络层、数据链路层、物理层)以及OSI七层模型,理解网络通信的基本原理。 2. IP地址与端口号:理解IPv4和IPv6地址,以及如何通过端口号区分不同的服务进程。 二...

    java网络编程学习资料

    Java网络编程的核心是Socket编程,它允许Java应用程序与其他网络上的程序进行双向通信。Socket是TCP/IP协议栈的一种实现,提供了低级别的网络通信接口。通过创建ServerSocket和Socket对象,我们可以建立客户端和...

    Java网络编程示例

    1. **Socket编程**:Java中的Socket类是网络编程的基础,它提供了双向通信通道,即客户端与服务器端的数据交换。Socket包括ServerSocket(服务器端)和Socket(客户端)。ServerSocket在指定端口监听连接请求,当有...

    JAVA语言网络编程课件

    1. **网络协议**:网络协议是指导数据在网络中传输的规则,包括应用层、传输层、网络层和链路层等。在Java中,应用层主要使用URL、URLConnection类来处理HTTP、FTP、telnet等协议;传输层则主要涉及TCP和UDP协议,...

    网络应用编程入门代码

    4. **HTTP协议处理**: HTTP是互联网上应用最为广泛的一种应用层协议,Java的URLConnection类可以用来发送HTTP请求和接收响应,实现网络资源的访问。 5. **多线程技术**: 在网络编程中,多线程是非常关键的,因为它...

    java网络编程(中文)

    Java网络编程是Java开发中的重要领域,它涵盖了网络通信的所有基本概念和技术,使得Java应用程序能够通过互联网进行数据传输和交互。本教程详细介绍了这一主题,旨在帮助初学者和有一定经验的开发者深入理解Java网络...

    Java程序设计之网络编程

    7. SSL/TLS:Java支持安全套接层(SSL)和传输层安全(TLS)协议,提供了SSLSocket和SSLServerSocket类,用于创建加密的网络连接。此外,KeyManager和TrustManager可以管理证书和密钥,确保网络通信的安全性。 六、...

    java网络编程

    Java提供了一系列的API,如Socket、ServerSocket、URL、URLConnection等,用于实现TCP/IP协议栈中的应用层通信。Socket是Java网络编程的核心,它代表了两个网络节点间的双向通信链路。ServerSocket则是服务器端用来...

Global site tag (gtag.js) - Google Analytics