首页 技术 正文
技术 2022年11月12日
0 收藏 481 点赞 4,825 浏览 2009 个字

20175212童皓桢 《Java程序设计》第11周学习总结

教材学习内容总结

一、URL类

1.一个URL对象通常包含最基本的三部分信息:协议、地址、资源

2.构造方法:

public URL(String spec) throws MalformedURLException

public URL(String protocol, String host,String file) throws MalformedURLException

3.URL对象调用

InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入流可以将服务器上的资源读入到客户端

二、InetAdress类

1.获取Internet上主机的地址

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

2.获取本地机的地址

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

三、套接字

当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起(端口号与IP地址的组合得出一个网络套接字。

1.客户端套接字

建立连接到服务器的套接字对象:

try{  Socket mysocket=new Socket(“http://192.168.0.78”,1880);
}
catch(IOException e)
{ }

mysocket相关的方法

  • getInputStream()获得一个输入流
  • getOutputStream()获得一个输出流
  • getInputStream()得到的输入流接到另一个DataInputStream数据流上
  • getOutputStream()得到的输出流接到另一个DataOutputStream数据流上
  1. ServerSocket对象与服务器端套接字

建立ServerSocket对象:

try{  ServerSocket  serverForClient =new ServerSocket(2010);
}
catch(IOException e){}

使用方法accept()将客户的套接字和服务器端的套接字连接起来,代码如下所示:

try{  Socket sc= serverForClient .accept();
}
catch(IOException e){}

四、UDF数据报

基于UDP通信的基本模式是:

1.将数据打包,称为数据包(好比将信件装入信封一样),然后将数据包发往目的地。

2.接受别人发来的数据包(好比接收信封一样),然后查看数据包中的内容。

发送数据包:

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

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

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

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

接受数据包

首先用DatagramSocket的另一个构造方法DatagramSocket(int port) 创建一个对象,其中的参数必须和待接收的数据包的端口号相同。例如,如果发送方发送的数据包的端口是5666,那么如下创建DatagramSocket对象:

DatagramSocket mail_in=new DatagramSocket(5666);

然后对象mail_in使用方法receive(DatagramPacket pack)接受数据包。

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

教材学习中的问题和解决过程

  • 问题1:运行Java远程调用的例子时,提示找不到RemoteSubject类

  • 问题1解决方案:根据IDEA提示,将ClientApplication类也放入sever包中即可正常运行。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,490
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,905
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,738
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,491
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,129
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,292