java 网络编程基础 1
关于协议:
应用层网络协议包括:http,ftp,telnet,.....
传送层网络协议:使用socket封装的TCP,或UDP
端口:
用于网络通讯时传输数据时区分当前网络连接是与本机中的哪个应用程序交互的代号。
这个代号在传输数据时会存在数据报中。
java中哪些网络请求类使用TCP封装:
URL, URLConnection, Socket, and ServerSocket
java中哪些网络请求类使用UDP封装:
DatagramPacket, DatagramSocket, 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的更多相关文章
- Java网络编程基础(Netty预备知识)
今天在家休息,闲来无事,写篇博客,陶冶下情操~~~ =================我是分割线================ 最近在重新学习Java网络编程基础,以便后续进行Netty的学习. 整 ...
- Java网络编程和NIO详解开篇:Java网络编程基础
Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...
- java网络编程基础——网络基础
java网络编程 网络编程基础 1.常用的网络拓扑结构: 星型网络.总线网络.环线网络.树形网络.星型环线网络 2.通信协议的组成 通信协议通常由3部分组成: 语义部分:用于决定通信双方对话类型 语法 ...
- 【Java基础】Java网络编程基础知识
什么是网络编程 网络编程是通过使用套接字来达到进程间通信目的,那什么是套接字呢?其实套接字是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的 ...
- JAVA网络编程基础知识
网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...
- java网络编程基础
前言 通过网络进行数据传输时,一般使用TCP/UDP进行数据传输.但是两个的区别就是TCP可靠,UDP不可靠.两个的共同之处就是都需要建立socket套接字,将IP地址和端口port进行绑定.但是服务 ...
- java网络编程基础——TCP网络编程一
基于TCP协议的网络编程 TCP/IP协议是一种可靠的网络协议,它的通信的两端各自建立一个Socket,从而在通信的两端之间形成网络虚拟链路. Java使用Socket对象来代表两端的通信端口,并通过 ...
- java网络编程基础——基本网络支持
基本网络支持 java.net包主要为网络编程提供支持. 1.InetAddress InetAddress类代表IP地址,还有两个子类:Inet4Address.Inet6Address. pack ...
- java 网络编程基础 InetAddress类;URLDecoder和URLEncoder;URL和URLConnection;多线程下载文件示例
什么是IPV4,什么是IPV6: IPv4使用32个二进制位在网络上创建单个唯一地址.IPv4地址由四个数字表示,用点分隔.每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如: ...
随机推荐
- HBase相关
hadoop和hbase节点添加和单独重启 有时候hadoop或hbase集群运行时间久了后,某些节点就会失效,这个时候如果不想重启整个集群(这种情况在很多情况下已经不被允许),这个时候可以单独重启失 ...
- 【Swift学习】Swift编程之旅---继承(十七)
在 Swift 中,继承是区分「类」与其它类型的一个基本特征.swift不支持多重继承.类可以调用和访问超类的方法,属性和subscripts下标,并且可以重写(override)这些方法,属性和附属 ...
- C#模拟键盘输入(一)
主要使用了Windows API 实现,你可以在你C盘下的system32文件夹中找到user32.dll,函数的说明在MSDN都有,只需要拿名字去搜一下就行 根据窗口的类名和窗口名称获取窗口句柄,成 ...
- android 中layer-list的用法
1.可以将多个图片按照顺序层叠起来 2.在drawable下建立一个xml文件 <layer-list xmlns:android="http://schemas.android.co ...
- iOS 阶段学习第十天笔记(字符串操作)
iOS学习(C语言)知识点整理 一.字符串的操作 1)字符串的存储,字符数组,在堆里面申请内存空间. 实例代码: #include <stdlib.h> #include <stri ...
- CSRF防御之ASP.NET MVC
MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(CSRF:Cross-site request forgery)攻击的一个措施. 举个简单例子,譬如整个系统的公告在网站 ...
- How do you install mysql-connector-python (development version) through pip?
12down votefavorite 8 http://stackoverflow.com/questions/31748278/how-do-you-install-mysql-connector ...
- XE8 for iOS 状态栏的几种效果
XE8 实现 iOS 状态栏的几种效果: 一.状态栏底色: 开一个新工程. 设定 Fill.Color 颜色属性. 设定 Fill.Kind = Solid. 无需修改任何官方源码. 二.隐藏状态栏( ...
- java servlet手机app访问接口(四)推送
一. 服务端DEMO下载及运行. 登录友盟后,浏览器直接输入下面这个URL,直接进入文档开发和DEMO下载页面:http://dev.umeng.com/push/ios/integration(下面 ...
- input为disabled提交后得不到该值的解决方法
input的字段当为diabled时时无法获取数值得,所以最近不要用这个,我们可以用readonly带替代,即可解决这类问题 放在form表单中提交后得不到该值. 将disabled=”disable ...