学号 20165324 《Java程序设计》第九周学习总结

教材学习内容总结

第十三章 Java网络编程

URL类

  • 使用URL创建对象的应用程序称为客户端
  • 一个URL对象封装一个具体资源的引用
  • 一个URL对象包含最基本的三部分信息:协议,地址和资源。
  • URL类的构造方法:
    1. 该构造方法使用字符串初始化一个URL对象URL url=new URL("http://www.google.com");
    2. public URL(String protocol,String host,String file)throws MalformedURLException,该构造方法使用的协议、地址、资源分别由参数protocol、host、file指定。

InetAddress类

  • 地址的表示:

    1. 域名
    2. IP地址:java.net包中InetAddress类对象含有一个Internet主机地址的域名和IP地址。
  • 获取地址:
    1. 获取Internet上主机的地址:使用InetAddress类的静态方法getByName(String s)将一个域名或一个IP地址传给该方法的参数s,获得一个InetAddress对象,该对象含有主机地址的域名和IP地址。
    2. 此外还有两个实例方法:public String getHostName(),获取对象所含的域名;public String getHostAddress(),获取对象所含的IP地址。
    3. 获取本地机的地址:使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机器的域名和IP地址。

套接字

  • 概述:IP地址标识Internet上的计算机,端口号标识服务器上的进程(程序)。两个程序需要通信时,可以通过使用Socket类建立套接字对象并连接在一起。
  • 客户端套接字:客户端程序使用Socket类负责建立连接到服务器的套接字对象。构造方法为:Socket(String host,int port),host为服务器的IP地址,port是一个端口号。使用try-catch语句建立连接。
  • ServerSocket对象与服务器端套接字:
    1. 为了能使客户连接到服务器,服务器必须建立一个ServerSocket对象,该对象通过将客户端的套接字对象和服务器端的一个套接字对象连接起来。构造方法为:ServerSocket(int port),port是一个端口号,port必须和客户呼叫的端口号相同。
try {
ServerSocket severForClient = new ServerSocket(2333);
}
catch (IOException e) {}
2. 当服务器的ServerSocket对象serverForClient建立后,就可以使用方法accept()将客服端的套接字和服务器端的套接字连接起来。
try {
Socket sc = serverForCilent.accept();
}
catch (IOException e) {}
3. 接受客户的套接字连接是指severForClient(服务器端的ServerSocket对象)调用accept()方法会返回一个和客户端Socket对象相连接的Socket对象sc,sc驻留在服务器端。这个Socket对象sc调用getOutputStream()获得的输出流将指向客服端Socket对象的输入流;对象sc调用getInputStream()获得的输入流将指向客服端Socket对象的输出流。
4. 建立连接后,服务器端的套接字对象调用getInetAddress()方法可以获取一个InetAddress对象,该对象含有客服端的IP和域名,客服端同理。

基于UDP通信的基本模式

  • 将数据打包,称为数据包(好比将信件装入信封一样),然后将数据包发往目的地。
  • 接受别人发来的数据包(好比接收信封一样),然后查看数据包中的内容。
  • 接受数据包:DatagramSocket的另一个构造方法DatagramSocket(int port) 创建一个对象,其中的参数必须和待接收的数据包的端口号相同
  • DatagramSocket mail_in=new DatagramSocket(端口号);

    然后对象mail_in使用方法receive(DatagramPacket pack)接受数据包。
  • 用 DatagramPack类的另外一个构造方法:DatagramPack(byte data[],int length)创建一个数据包,用于接收数据包

代码托管

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 203/203 4/4 15/15
第二周 326/529 2/6 12/27
第三周 1000/1500 2/8 20/47
第四周 800/2300 3/11 20/67
第五周 500/2800 2/13 18/85
第六周 900/3700 2/15 15/100
第七周 1100/4800 3/18 15/115
第八周 1700/6500 1/19 18/133
第九周 1400/7900 2/21 22/155

参考资料

20165324 《Java程序设计》第九周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第九周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...

  2. 20145220java程序设计第九周学习总结

    20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...

  3. 201771010134杨其菊《面向对象程序设计java》第九周学习总结

                                                                      第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...

  4. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  5. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 马凯军201771010116《面向对象与程序设计Java》第九周学习总结

    一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...

  9. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  10. 《Java》第九周学习总结

    下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新

随机推荐

  1. spark 系列文章汇总

    源码导读 spark 源码导读1 从spark启动脚本开始 spark 源码导读2 进一步窥探Master.Worker启动及通信机制 spark 源码导读3 进一步理解脚本调用关系 spark 源码 ...

  2. imx6 18bit display

    imx6 kernel中使用18bit的lcd,uboot中bootargs参数bpp=32,lcd才能够正常显示. "bootargs=console=ttymxc0,115200 ini ...

  3. 【BZOJ】1093: [ZJOI2007]最大半连通子图(tarjan+拓扑序)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1093 两个条件综合起来加上求最大的节点数,那么很明显如果是环一定要缩点. 然后再仔细思考下就是求da ...

  4. 10条建议帮助你创建更好的jQuery插件

    本文总结了帮助你创建更好jQuery插件的10条建议.分享给大家供大家参考.具体说明如下: 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就 ...

  5. BEGIN_MESSAGE_MAP(Caccess_test_1Dlg, CDialogEx)

    BEGIN_MESSAGE_MAP(...消息映射宏的一部分.ON_WM_CREATE()产生一个消息处理函数映射项目,把WM_CREATE和OnCreate函数联系起来. 参数的个数和类型是系统已经 ...

  6. Android5.0新特性-Material Design

    概述 2014年,Google携Android5.X重装归来.全新的UI设计和更加优化的性能,令开发人员眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS.下载地址 htt ...

  7. 将UIView转成UIImage,将UIImage转成PNG/JPG

    分类: UIImageView2013-03-12 17:37 350人阅读 评论(0) 收藏 举报 //UIView -> UIImage #import “QuartzCore/Quartz ...

  8. GIF动画录制工具(写教程时用的比较小巧的gif工具)

    1  软件小巧实用,只有1m 2  gif效果还可以 3  绿色,无需安装 很多地方能下载,百度就行. 下载地址: http://www.downxia.com/downinfo/41427.html

  9. 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行

    用手工运行msoobe.ext启用配置的方法, 快速解决:windows安装程序无法将windows配置为在此计算机的硬件上运行   我自己安装碰到的是蓝色这个错误,下面这个也有网友说用安装驱动等方法 ...

  10. ie8兼容:对象不支持“trim”属性或方法

    trim() 方法是原生js中去空格的方法,高版本浏览器已经默认支持trim() 方法,但ie8以下不支持,会报错:对象不支持“trim”属性或方法 解决这个的兼容,只需要扩展String原型属性 在 ...