20165223《Java程序设计》第九周Java学习总结
教材学习内容总结
第13章-
- URL类
- InetAddress类
- 套接字
- UDP数据报
- 广播数据报
- Java远程调用(RMI)
教材学习中的问题和解决过程
1. URL类
- URL类构造方法:
- 使用字符串初始化一个URL对象:public URL(String spec) throws MaldormedURLException
- 使用参数protocol,host和file指定协议、地址和资源:public URL (String protocol,String host,String file)throws MaldormedURLException
- 读取URL中的资源: 调用InputStream openStresm()方法返回一个输入流
2. InetAddress类
- 地址的表示:域名、Ip地址
- java.net包中的InetAddress类对象含有一个主机地址的域名或IP地址
- 获取地址
- InetAddress上主机的地址:getByName(String s)获取一个域名或IP地址;getHostName()获取InetAddress对象所含的域名;getHostAddress()获取InetAddress对象所含Ip地址
- 本地机的地址:getLocalHost()获取一个InetAddress对象,该对象含本地机的域名和IP地址。
3. 套接字
概述
- 端口规定为一个16位的0~65535
- 01023被预先占用,除非需要访问特殊服务,否则应使用102465535中的一个端口,防止发生端口冲突
客户端套接字
- 构造方法:Socket (String host,iint port),参数host是服务器的IP地址,port是一个端口号。建立套接字对象的方法可能出现IOException异常,所以要采用try-catch的方法
try{
Socket clientSocket = new Socket("http://192.168.0.78",2010);
}
catch(IOException e){}
ServerSocket对象与服务器端套接字
- 构造方法:(int port),port是一个端口。port必须和客户呼叫的端口号相同。也要使用try-catch方法。建立连接后,服务器套接字对象调用getInetAddress()方法可以获取一个InetAddress对象,该对象含有客户端的IP地址和域名。双方通信完毕后,套接字应使用close()方法关闭套接字连接
使用多线程技术
- 用Socket类的不带参数的构造方法Socket()创建一个套接字对象,该对象调用public void connect(Socket Address endpoint) throws IOException请求和参数SocketAddress指定的服务器对接
套接字通信基本原则:
- 服务器应当启动一个专门的线程,在该线程中和客户的套接字进行对接
- 由于套接字的输入流在读取消息时可能发生阻塞,客户端和服务器端都需要在一个单独线程读取信息
4. UDP数据报
- 基于UDO通信的基本模式:
- 打包数据,将数据包发往目的地
- 接收数据包,查看内容
- 发送数据包
- 打包:用DatagramPacket类创建对象,称数据包
- 接收数据包
- 接收:用DatagramSocket(int port)构造方法创建对象,参数必须与待接收的数据包的端号口一致,然后对象mail_in用方法receive(DatagramPacket pack)接收数据包
5. java远程调用
代码托管
详见码云:码云作业

学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 3000行 | 30篇 | 400小时 | |
| 第九周 | 1324/200 | 2/11 | 20/20 | 深入 |
参考资料
20165223《Java程序设计》第九周Java学习总结的更多相关文章
- 201521123027 <java程序设计>第九周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...
- 20165223 《JAVA程序设计》第四周学习总结
20165223 <JAVA程序设计>第四周学习总结 教材学习内容总结 第五章要点 子类与继承 成员变量的隐藏和方法重写 super关键字 继承与多态 abstract类与abstract ...
- 20145322第九周JAVA程序设计基础学习总结
20145322第九周JAVA程序设计基础学习总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联机数据库的标准规范.它定义一组标准类与接口,应用程序需要 ...
- 20145220java程序设计第九周学习总结
20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...
- 20155317 2016-2017-2 《Java程序设计》第十学习总结
20155317 2016-2017-2 <Java程序设计>第十学习总结 教材学习内容总结 1.网络编程的概念: 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作 ...
- 20145213《Java程序设计》第四周学习总结
20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...
- 20145330《Java程序设计》第四周学习总结
20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对 ...
- 20145337《Java程序设计》第四周学习总结
20145337<Java程序设计>第四周学习总结 教材学习内容总结 继承与多态 继承 继承,避免多个类间重复定义共同行为 符合DRY(Don't Repeat Yourself)原则,多 ...
- 20145218 《Java程序设计》第四周学习总结
20145218 <Java程序设计>第四周学习总结 教材学习内容总结 继承 继承共同行为 继承基本上就是避免多个类间重复定义共同行为. 继承的三个好处:减少代码冗余:维护变得简单:扩展变 ...
- 《Java程序设计》第四周学习总结
20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...
随机推荐
- Redis教程(Linux)
这里汇总了从简单的安装到较为复杂的配置,由浅入深的学习redis... 一 , 安装 1) redis扩展安装 从官网上下载扩展压缩包 wget http://pecl.php.net/get/red ...
- Linux Centos 迁移Mysql 数据位置
Linux Centos 迁移Mysql 数据位置 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysq ...
- [转帖]NotePad++编辑Linux中的文件
NotePad++编辑Linux中的文件 https://blog.csdn.net/chengqiuming/article/details/78882692 原作者 未经允许不允许转帖 加密自己参 ...
- 剑指offer(5)
题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 解法: 一个栈专门用来存数,当需要输出数时,把所有数倒到第二个栈,当然,若此时第二个栈中已经有数了(之前倒 ...
- Spring 的java 配置方式
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1@Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @ ...
- WPF中元素拖拽的两个实例
今天结合之前做过的一些拖拽的例子来对这个方面进行一些总结,这里主要用两个例子来说明在WPF中如何使用拖拽进行操作,元素拖拽是一个常见的操作,第一个拖拽的例子是将ListBox中的子元素拖拽到ListV ...
- com.alibaba的fastjson简介
fastjson简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSO ...
- python设计模式第八天【装饰器模式】
1.定义 使用包装的释放扩展类的功能,但是不使用继承 2.使用场景 3.代码实现 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ def MyDecorat ...
- git 提交顺序
0. git branch # 查看自己是哪个分支:先确定自己现在是哪个分支 1. git fetch # 将远程主机的更新,全部取回本地.如果只想取回特定分支的更新,可以指定分支名:git ...
- vscode实现vue.js项目的过程
https://blog.csdn.net/weixin_37567150/article/details/81291433 https://blog.csdn.net/ywl570717586/ar ...