学号 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. 表达式树在LINQ动态查询

    动态构建表达式树,最佳实践版,很实用! public class FilterCollection : Collection<IList<Filter>> { public F ...

  2. WebService远程调用(命令行调用)

    远程调用webservice 方法, 通过wsdl命令,生成webservice 对应asmx 文件的对应类(cs文件),然后将此cs文件引用到当前项目中,项目其他地方需要调用webservice方法 ...

  3. Redis异构集群数据在线迁移工具Redis-Migrate-Tool【转】

    摘要:Redis-Migrate-Tool(后面都简称RMT),是唯品会开源的redis数据迁移工具,主要用于异构redis集群间的数据在线迁移,即数据迁移过程中源集群仍可以正常接受业务读写请求,无业 ...

  4. Android 蓝牙学习

    Android 蓝牙学习 学习缘由 上个礼拜公司要开发个简单的五子棋游戏!其中一个需求就是支持蓝牙对战!所以苦逼的我学习蓝牙方面的知识了! 简介 Bluetooth是目前使用最广泛的无线通讯协议,近距 ...

  5. JAVA上百实例源码网站

    JAVA源码包1JAVA源码包2JAVA源码包3JAVA源码包4 JAVA开源包1 JAVA开源包2 JAVA开源包3 JAVA开源包4 JAVA开源包5 JAVA开源包6 JAVA开源包7 JAVA ...

  6. Mysql 知识点总结

    1.创建数据库    mysqladmin 下面是一个简单的例子,创建名为 yiibai_tutorials1 的数据库. D:\software\mysql--winx64\bin> mysq ...

  7. std::condition_variable

    /* std::condition_variable 提供了两种 wait() 函数.当前线程调用 wait() 后将被阻塞(此时当前线程应该获得了锁(mutex),不妨设获得锁 lck),直到另外某 ...

  8. LAMP集群项目二 初始化系统

    1.关闭防火墙 /etc/init.d/iptables stop chkconfig iptables off 2.关闭selinux cat /etc/selinux/config #查看状态 s ...

  9. 常用 Git 操作

    最新博客链接:https://feiffy.cc/Git 日常用到的GIT的一些操作,记下来,以备参考. 删除文件 git rm filename git commit -m "remove ...

  10. Delphi开发的服务在Windows2003 64位注册方式。

    1.在sysWoW32目录下找到cmd.exe,右键运行方式选择administrator,输入密码后.2.TrainServer.exe -install  安装服务.