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

学号 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) {}
    1. 当服务器的ServerSocket对象serverForClient建立后,就可以使用方法accept()将客服端的套接字和服务器端的套接字连接起来。
    try {
      Socket sc = serverForCilent.accept();
    }
    catch (IOException e) {}
    1. 接受客户的套接字连接是指severForClient(服务器端的ServerSocket对象)调用accept()方法会返回一个和客户端Socket对象相连接的Socket对象sc,sc驻留在服务器端。这个Socket对象sc调用getOutputStream()获得的输出流将指向客服端Socket对象的输入流;对象sc调用getInputStream()获得的输入流将指向客服端Socket对象的输出流。
    2. 建立连接后,服务器端的套接字对象调用getInetAddress()方法可以获取一个InetAddress对象,该对象含有客服端的IP和域名,客服端同理。

基于UDP通信的基本模式

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

代码托管

1290756-20180429194249343-1645556065.png

1290756-20180429194258916-423958286.png

1290756-20180429194305597-1045556504.png

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周203/2034/415/15
第二周326/5292/612/27
第三周1000/15002/820/47
第四周800/23003/1120/67
第五周500/28002/1318/85
第六周900/37002/1515/100
第七周1100/48003/1815/115
第八周1700/65001/1918/133
第九周1400/79002/2122/155

参考资料

转载于:https://www.cnblogs.com/20165324hcj/p/8971718.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值