20165334 《java程序设计》第9周学习总结

可莉
• 阅读 612

学号 20165334 《Java程序设计》第9周学习总结

教材学习内容总结

13章知识总结

获取地址

1.获取Internet上主机的地址

  • 可以使用InetAddress类的静态方法getByName(String s);
  • 获得一个InetAddress对象,该对象含有主机地址的域名和IP地址,该对象用如下格式表示它包含的信息: www.sina.com.cn/202.108.37.40

1、获取本地机的地址

使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机的域名和IP地址。

2、客户端套接字

建立连接到服务器的套接字对象:
    try{  Socket mysocket=new Socket(“http://192.168.0.78”,1880);
     }
    catch(IOException e)
    {  } 
与mysocket相关的方法
getInputStream()获得一个输入流 
getOutputStream()获得一个输出流 
用getInputStream()得到的输入流接到另一个DataInputStream数据流上
用getOutputStream()得到的输出流接到另一个DataOutputStream数据流上 

3、ServerSocket对象与服务器端套接字

服务器必须建立一个ServerSocket对象,该对象通过将客户端的套接字对象和服务器端的一个套接字对象连接起来,从而达到连接的目的。 
建立ServerSocket对象:
       try{  ServerSocket  serverForClient =new ServerSocket(2010);
      }
       catch(IOException e){} 
使用方法accept()将客户的套接字和服务器端的套接字连接起来,代码如下所示:
        try{  Socket sc= serverForClient .accept();
          }
       catch(IOException e){}  
所谓“接收”客户的套接字连接就是accept()方法会返回一个和客户端Socket对象相连接的Socket对象。

4、发送数据包

1.用DatagramPacket类将数据打包,即用DatagramPacket类创建一个对象,称为数据包。用DatagramPacket的以下两个构造方法创建待发送的数据包:

  • DatagramPacket(byte data[],int length,InetAddtress address,int port)
  • DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)

2.用DatagramSocket类的不带参数的构造方法:DatagramSocket()创建一个对象,该对象负责发送数据包。例如:

  • DatagramSocket mail_out=new DatagramSocket(); mail_out.send(data_pack);

接收数据包

  1. 首先用DatagramSocket的另一个构造方法DatagramSocket(int port) 创建一个对象,其中的参数必须和待接收的数据包的端口号相同。例如,如果发送方发送的数据包的端口是5666,那么如下创建DatagramSocket对象: DatagramSocket mail_in=new DatagramSocket(5666);
  2. 然后对象mail_in使用方法receive(DatagramPacket pack)接受数据包。 3.用 DatagramPack类的另外一个构造方法: DatagramPack(byte data[],int length)创建一个数据包,用于接收数据包,例如: byte data[]=new byte[100]; int length=90; DatagramPacket pack=new DatagramPacket(data,length); mail_in.receive(pack); 该数据包pack将接收长度是length字节的数据放入data。

代码托管

(statistics.sh脚本的运行结果截图)

20165334 《java程序设计》第9周学习总结

学习进度条

代码行数(新增/累积)

博客量(新增/累积)

学习时间(新增/累积)

重要成长

目标

5000行

30篇

400小时

第一周

200/200

2/2

20/20

第二周

300/500

2/4

18/38

第三周

500/1000

3/7

22/60

第四周

300/1300

2/9

30/90

第五周

1000/1300

2/9

30/90

第六周

900/1300

2/9

30/90

第七周

600/1300

2/9

30/90

第八周

900/1300

2/9

30/90

第九周

13016/1300

2/9

30/90

参考资料

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
20165310java_blog_week6
2165310《Java程序设计》第6周学习总结教材学习内容总结String构造StringstrnewString()String(chara)String(chara,i
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
可莉 可莉
3年前
20165310java_blog_week6
2165310《Java程序设计》第6周学习总结教材学习内容总结String构造StringstrnewString()String(chara)String(chara,i
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
Java第五周学习总结
学号201620172《Java程序设计》第X周学习总结教材学习内容总结1.接口(1)使用关键字interface来定义一个接口,接口分为接口声明和接口体,例如interfacePrintable
Stella981 Stella981
3年前
20165334 《java程序设计》第9周学习总结
学号20165334《Java程序设计》第9周学习总结教材学习内容总结13章知识总结获取地址1.获取Internet上主机的地址可以使用InetAddress类的静态方法getByName(Strings);获