`
nubiyu
  • 浏览: 3667 次
  • 性别: 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网络编程实例》和阅读器,欢迎下载

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

    Java网络编程

    Java网络高级编程Java网络高级编程

    Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程Java网络高级编程

    java网络编程.pdf

    java网络编程.pdf

    JAVA网络编程第4版

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

    Java网络编程(第3版) 中文版

    Java网络编程(第3版) 《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK 1.4和1.5(现在已命名为J2SE 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)...

    java网络编程pdf

    java网络编程pdf java网络编程pdf java网络编程pdf java网络编程pdf java网络编程pdf java网络编程pdf java网络编程pdf java网络编程pdf

    Java网络编程 JAVA web开发实例讲解 宠物分类展现web项目 实战讲解 全套PPT课件 共10个章节.rar

    Java网络编程 JAVA web开发实例讲解 宠物分类展现web项目 第01章 项目背景知识(共15页).ppt Java网络编程 JAVA web开发实例讲解 宠物分类展现web项目 第02章 用HTML+CSS实现宠物分类展现静态网页版本(共44页)....

    Java网络爬虫(蜘蛛)源码

    Java网络爬虫(蜘蛛)源码是一种用Java语言编写的程序,它可以模拟人类在互联网上的浏览并抓取信息。这种程序可以在互联网上自动地搜索和提取数据,并将其保存在本地计算机上,以供后续处理和分析。通过使用Java网络...

    Java网络高级编程

    本书第1-3章介绍了网络进程通信的主要技术。其中,第1章介绍网络进程通信的基础类...本书可作为高校计算机应用、网络信息、电子商务技术等专业级学生及研究生的教材,也可以作为Java网络编程爱好者的自学参考书。

    Java 网络程序设计

    Java 网络程序设计,很有用的pdf文档,对于初学者很有帮助的哦~

    java网络编程——网络版题库程序

    java网络编程——网络版题库程序(主要技术java+socket+多线程+mysql),程序是C/S 版本的,由于服务器端是java写的,所有客户端使用android也是很容易与服务器对接的

    JAVA 网络编程服务器端例程

    JAVA 网络编程服务器端例程,一个测试socket通信的比较好的例程

    Java网络编程(第4版)PDF

    Java网络编程(第4版)的电子版书籍,学习java通讯技术的同学建议看一下这本书

    JAVA网络编程课件

    JAVA 网络编程

    [Java] Java 网络编程 第4版 (英文版)

    [奥莱理] Java 网络编程 第4版 (英文版) [奥莱理] Java Network Programming 4th Edition (E-Book) ☆ 图书概要:☆ This practical guide provides a complete introduction to developing network programs ...

    Java网络编程实验报告.pdf

    Java网络编程实验报告.pdf

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

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

Global site tag (gtag.js) - Google Analytics