关于协议:

应用层网络协议包括:http,ftp,telnet,.....

传送层网络协议:使用socket封装的TCP,或UDP

端口:

用于网络通讯时传输数据时区分当前网络连接是与本机中的哪个应用程序交互的代号。

这个代号在传输数据时会存在数据报中。

java中哪些网络请求类使用TCP封装:

   URLURLConnectionSocket, and ServerSocket

java中哪些网络请求类使用UDP封装:

 DatagramPacketDatagramSocket, and MulticastSocket

URL:访问万维网信息的连接:包含两个部分:协议,地址。

  • 协议:  http://example.com,  http 是协议.
  • 地址:  http://example.com,  example.com 是地址.

java中的URL类初始化:

1、  URL aUrl = new URL("http","example.com","/pages/page1.html");

 2、  URL aUrl = new URL(http://example.com/pages/page1.html");

3、  URL gamelan = new URL("http", "example.com", 80, "pages/page1.html");

 4、包含特殊字符的URL如:http://example.com/hello world/  hello world中又一个空格字符

这时需要将空格字符转义成合法的URL字符转义后的结果

  URL url = new URL("http://example.com/hello%20world");

  如何快速转义java URL中的特殊字符? 使用URI类:

  URI uri = new URI("http", "example.com", "/hello world/", "");

  URL url = uri.toURL();

  

  构建URL过程使用的Exception类型:MalformedURLException

  URL类中的get 方法s 得到的结果:

基于URL http://example.com:80/docs/books/tutorial/index.html?name=networking#DOWNLOADING URL类中get方法获得的值

getProtocol(Returns the protocol identifier component of the URL.)

  http

getAuthorityReturns the authority component of the URL.

example.com:80

getHostReturns the host name component of the URL.

example.com

getPortReturns the port number component of the URL. The getPort method returns an integer that is the port number. If the port is not set, getPort returns -1.

80

getPathReturns the path component of this URL.

/docs/books/tutorial/index.html

getQueryReturns the query component of this URL.

name=networking

getFileReturns the filename component of the URL. The getFile method returns the same as getPath, plus the concatenation of the value of getQuery, if any.

/docs/books/tutorial/index.html?name=networking

getRefReturns the reference component of the URL.

DOWNLOADING

java 网络编程基础 1的更多相关文章

  1. Java网络编程基础(Netty预备知识)

    今天在家休息,闲来无事,写篇博客,陶冶下情操~~~ =================我是分割线================ 最近在重新学习Java网络编程基础,以便后续进行Netty的学习. 整 ...

  2. Java网络编程和NIO详解开篇:Java网络编程基础

    Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...

  3. java网络编程基础——网络基础

    java网络编程 网络编程基础 1.常用的网络拓扑结构: 星型网络.总线网络.环线网络.树形网络.星型环线网络 2.通信协议的组成 通信协议通常由3部分组成: 语义部分:用于决定通信双方对话类型 语法 ...

  4. 【Java基础】Java网络编程基础知识

    什么是网络编程 网络编程是通过使用套接字来达到进程间通信目的,那什么是套接字呢?其实套接字是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的 ...

  5. JAVA网络编程基础知识

    网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...

  6. java网络编程基础

    前言 通过网络进行数据传输时,一般使用TCP/UDP进行数据传输.但是两个的区别就是TCP可靠,UDP不可靠.两个的共同之处就是都需要建立socket套接字,将IP地址和端口port进行绑定.但是服务 ...

  7. java网络编程基础——TCP网络编程一

    基于TCP协议的网络编程 TCP/IP协议是一种可靠的网络协议,它的通信的两端各自建立一个Socket,从而在通信的两端之间形成网络虚拟链路. Java使用Socket对象来代表两端的通信端口,并通过 ...

  8. java网络编程基础——基本网络支持

    基本网络支持 java.net包主要为网络编程提供支持. 1.InetAddress InetAddress类代表IP地址,还有两个子类:Inet4Address.Inet6Address. pack ...

  9. java 网络编程基础 InetAddress类;URLDecoder和URLEncoder;URL和URLConnection;多线程下载文件示例

    什么是IPV4,什么是IPV6: IPv4使用32个二进制位在网络上创建单个唯一地址.IPv4地址由四个数字表示,用点分隔.每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如: ...

随机推荐

  1. DirectX.Capture Namespace

    DirectX.Capture Class Library   DirectX.Capture Namespace The DirectX.Capture namespace contains cla ...

  2. JS虚拟键盘

    由于是触摸屏,所以需要一款JS虚拟键盘.上网找了一个好用的VirtualKeyboard,作了修改. 修改该插件参考的博客文章:http://www.cnblogs.com/xinggong/arch ...

  3. C# winform控件之listview学习积累

    //1.用key给ListViewItem 的 SubItems赋值 ListViewItem listViewItem= listView1.Items.Add("第一列文字") ...

  4. Topshelf + ServiceModelEx + Nlog 从头构建WCF

    前言 Topshelf可以很方便的构建windows service,而且在本地开发时也可以构建Console宿主,因此很方便WCF的开发. ServiceModelEx则提供了很多便利的方法来配置w ...

  5. WCF学习笔记1--发布使用配置文件的服务

    关于WCF的入门网上资料很多,可以参考蒋金楠老师的博客http://www.cnblogs.com/artech/archive/2007/02/26/656901.html,我是从这篇博客开始学习的 ...

  6. Tigase XMPP Server的安装

    Tigase和OpenFire都是基于XMPP(Extensible Messaging and Presence Protocol, 可扩展通讯和表示协议)的,主要功能是实现消息的即时通信.Goog ...

  7. 非阻塞同步算法与CAS(Compare and Swap)无锁算法

    锁(lock)的代价 锁是用来做并发最简单的方式,当然其代价也是最高的.内核态的锁的时候需要操作系统进行一次上下文切换,加锁.释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放. ...

  8. 由select * from table where 1=1中的1=1说开数据库

    众多网站都有select * from table where 1=1此类语句的介绍,并且,针对该类语句,讲得实在是让人越看越迷茫(一个抄袭一个的,简直不像话),不知道是在说什么,导致很多新手不得要领 ...

  9. JVM基本原理

    第一节 JVM内存模型 •堆栈简称栈,主要提供以下用途: –保存临时数据 –放置临时变量(局部.自动.堆栈) –保存调用现场 –方法返回值的传递 •堆主要提供以下用途: –存放对象(GC对象) –存放 ...

  10. [moka同学笔记]YII2.0 判断签约状态,sql的两种查询方法

    方法一: //判断签约状态 $signed = 0; $sql="SELECT * from usho_community_sign_record WHERE com_id=$r->i ...