`
nubiyu
  • 浏览: 3903 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java网络

阅读更多

HTTP请求:

HTTP请求由三个组件组成:

方法——统一资源标识符(URI)——协议/版本

请求标头

实体主体

 

每个HTTP请求都可以使用HTTP标准中指定的其中一个请求的方法。HTTP1.1支持7类请求:GET、POST、HEAD、OPTIONS、PUT、DELETE和TRACE。GET和POST在互联网应用中最为常用。

请求标头包含有关客户端环境和请求实体主体的有用信息。每个标头都用一个回车/换行符(CRLF)进行分隔,这对于HTTP请求格式而言很重要。CRLF告诉HTTP服务器,实体主体从这里开始,在有的互联网编程书籍中,这个CRLF会被当作一个HTTP请求的第4个组件。

HTTP响应:

HTTP响应由三个组件组成:

协议——状态吗——描述

响应标头

实体主体

 

用java.net.URL对象可以表示URL,其构造器包含协议,主机,端口,路径,可以通过getFile(),getHost(),getPath(),getPort(),getProtocol(),getQuery()等方法来获取相应的参数信息。

通过URL.openStream()可以读取一个web资源,但也可以URL.openConnection()来获得URLConnection实例,即获取一个与远程计算机连接的对象,可以通过该对象对一台远程机器进行读取或写入资源。

URLConnection类有2个boolean域:doInput和doOutput,分别表示URLConnection是否可以用来读取和写入。doInput的默认值是true,表示始终可以利用URLConnection读取一个web资源,doOutput的默认值是false,表示URLConnection不能写入,为了能够用URLConnection对象进行写入,需要将doOutput的值设置为true。为doInput和doOutput设置值的时候,可利用setDoInput和setDoOutput方法完成。

利用URLConnection对象读取资源时,可调用他的getInputStream方法,该方法返回java.io.InputStream对象。写入资源时,可调用他的getOutputStream方法,该方法返回java.io.OutputStream。

URLConnection比URL.openStream更强大,还可以读取响应标头,并把数据写入服务器。

 

虽然可以利用URLConnection提交信息,但是可利用更加强大的java.net.Socket和java.net.ServerSocket类。

 基于TCP的Socket编程 

服务器程序的编写

调用ServerSocket(int port)创建一个服务器端套接字,并绑定指定端口上;调用accept(),监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字。调用Socket类的getOutputStream()getInputStream获取输出流和输入流,开始网络数据的发送和接收。最后关闭通信套接字。

客户端程序的编写

调用Socket()创建一个流套接字,并连接到服务器端; 调用Socket类的getOutputStream()getInputStream获取输出流和输入流,开始网络数据的发送和接收。 最后关闭通信套接字。

基于UDP的Socket编程

接收端程序的编写

调用DatagramSocket(int port)创建一个数据报套接字,并绑定到指定端口上;调用DatagramPacket(

byte[] buf, int length),建立一个字节数组以接收UDP调用DatagramSocket类的receive(),接收UDP包。最后关闭数据报套接字。

发送端程序的编写

调用DatagramSocket()创建一个数据报套接字; 调用DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)建立要发送的UDP包。 调用DatagramSocket类的send(),发送UDP包。最后关闭数据报套接字。

分享到:
评论

相关推荐

    Java网络抓包 Java网络抓包

    Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络抓包Java网络...

    基于JAVA网络远程监控系统软件的实现(源码)

    基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的...

    Java网络编程/Java网络编程实例

    Java网络编程是Java开发中的重要领域,它涵盖了网络应用程序的设计、实现和调试。在这个主题下,我们可以探讨多个关键知识点: 1. **Java Socket编程**:Java的Socket类提供了基于TCP/IP协议的网络通信能力。通过...

    java网络编程第四版pdf

    《Java网络编程(第四版)》是一本深入探讨Java在互联网环境下的编程技术的经典书籍。本书旨在帮助读者理解和掌握如何利用Java语言进行高效、安全的网络通信。书中内容覆盖了从基本的网络概念到复杂的多线程编程,是...

    Java网络编程案例教程习题参考答案 .pdf

    Java网络编程案例教程习题参考答案 Java_network_programming是Java编程语言中一个基础组件,用于实现网络通信。以下是Java网络编程案例教程习题参考答案中涉及到的知识点: 1. Socket编程:Socket是Java网络编程...

    Java 网络程序设计

    从提供的文件信息中,我们可以提取和解读出多个与Java网络程序设计相关的知识点。 首先,文档标题“Java 网络程序设计”直接指出了本文档的中心主题。网络程序设计是指在编程中如何实现网络通信的过程,而Java作为...

    Java网络编程(第4版)PDF

    《Java网络编程(第4版)》是一本深入探讨Java平台上的网络编程技术的专业书籍,适合想要提升Java通讯技术的学者阅读。此书全面覆盖了Java网络编程的基础和高级概念,帮助开发者理解如何利用Java语言构建高效、可靠的...

    Java网络编程实验报告.pdf

    "Java网络编程实验报告" 本实验报告主要介绍了Java网络编程的基本概念和实现方法,通过设计和实现一个简单的客户端/服务器应用程序,了解Java网络编程的基本原理和实现方法。 知识点1:Java 网络编程基础 Java ...

    Java网络编程实践课程设计报告.pdf

    Java 网络编程实践课程设计报告 这是一份 Java 网络编程实践课程设计报告,旨在帮助学生掌握 Java 编程语言、图形化界面、多线程、网络和数据库等技术,并提高动手实践能力和书本知识学习。该课程设计报告涵盖了 ...

    Java 网络版五子棋(含源代码)

    【Java 网络版五子棋】是一个基于Java编程语言开发的在线对战游戏,它允许两位玩家通过网络连接进行实时对弈。这个项目涵盖了多个重要的编程概念和技术,包括图形用户界面(GUI)、网络通信、多线程以及游戏逻辑算法...

    Java网络编程精解(孙卫琴)电子教案

    《Java网络编程精解》是孙卫琴老师的一本经典教程,主要涵盖了Java语言在网络编程领域的深度解析。这本书深入浅出地介绍了如何使用Java进行网络通信,包括基本的TCP/IP协议、套接字编程、多线程技术以及HTTP、FTP等...

    案例四:java网络编程 双工通讯(带界面)

    Java网络编程是开发分布式应用程序的关键技术,它允许不同的设备通过网络进行通信。在这个"案例四:java网络编程 双工通讯(带界面)"中,我们将深入探讨如何使用Java实现双向通信,即双工通讯,并结合图形用户界面...

    Java 网络协议源码

    Java网络协议源码是深入理解Java网络编程的关键资源,它涵盖了网络通信中各种协议的实现细节。这份资料可能包括了TCP/IP、HTTP、FTP等常用网络协议的Java源代码实现,对于开发者来说,是一个深入了解网络协议工作...

    [Java网络编程(第3版,2004)].(Java.Network.Prog.epub

    Java网络编程

    JAVA网络编程第4版

    《Java网络编程(第4版)》全面介绍了如何使用Java开发网络程序。你将学习如何使用Java的网络类库既快速又轻松地完成常见的网络编程任务,如编写多线程服务器、加密通信、广播到本地网络,以及向服务器端程序提交数据...

    java网络编程.pdf

    java网络编程.pdf

    Java网络拓扑图,vue拓扑图管理,组件关系组件机架

    Java网络拓扑图的实现通常是通过编程语言(如Java)与前端框架(如Vue.js)结合来完成的,以创建交互式的、可自定义的拓扑图管理界面。以下是对这些知识点的详细说明: 1. **Java网络拓扑图**:Java是多平台的编程...

    Java网络编程.chm

    本资源为"Java网络编程.chm",是一本关于Java网络编程的电子书,以实例驱动的方式深入讲解了相关知识。 首先,我们要理解Java在网络编程中的基础——IO流。Java中的IO流分为字节流和字符流,它们用于读写数据,包括...

    JAVA网络编程大全,pdf版

    《JAVA网络编程大全》是一本全面且深入介绍Java网络编程技术的权威著作,旨在帮助读者掌握Java在构建网络应用程序中的核心概念和实践技巧。PDF版的书籍为学习者提供了便捷的电子阅读体验,随时随地都能深化对Java...

    java网络编程经典的学习书籍

    《Java网络编程》是编程领域的经典著作,尤其对于学习Java网络编程的初学者及进阶者来说,这本书具有很高的参考价值。它详细介绍了如何利用Java语言进行网络通信,涵盖了网络编程的基本概念、协议以及实现方法。 一...

Global site tag (gtag.js) - Google Analytics