java12网络程序设计课件_第1页
java12网络程序设计课件_第2页
java12网络程序设计课件_第3页
java12网络程序设计课件_第4页
java12网络程序设计课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章网络程序设计6/4/20231本章总体纲要统一资源定位地址(URL)基于TCP的网络程序设计基于UDP的网络程序设计基于SSL的网络程序设计6/4/20232Internet地址在Internet上的计算机通过IP(InternetProtocol)地址标识示例:00域名:类.InetAddress用来表示Internet地址6/4/20233创建类InetAddress的实例对象类InetAddressclass并不具有public的构造方法但可以通过下列方法构造:staticInetAddress

getByAddress(byte[]addr)staticInetAddress

getByName(Stringhost)6/4/20234URL类URL

是网络资源定位器(UniformResourceLocator),指向网页(WorldWideWeb)上的一个资源这里的资源可以是文件/目录,也可以是一些复杂的对象,如数据库或搜索引擎(searchengine)6/4/20235URL的格式(Protocol)(Host)[:Port][File][#Reference]示例:8080/demoweb/urlprimer.html#INSTALLhttp:///http://localhost:8080/index.html#bottom43/java/mailto:yongjunhai@6/4/20236说明大多数URL可以分成五个部分:Protocol

Host

Port

File

Reference,有时也称为section或anchor但并不都是必需的6/4/20237端口号:Port端口号(Port)范围:0-65535(16bits)小于1024:用来对应特定的服务(例如:telnet,SMTP,ftp等等)服务端与客户端必须采用相同的端口号6/4/20238类:.URL类.URL的实例对象表示具体的

URLpublicfinalclassURL类.URL的中构造方法:publicURL(Stringu)throwsMalformedURLExceptionpublicURL(Stringprotocol,Stringhost,Stringfile)throwsMalformedURLExceptionpublicURL(Stringprotocol,Stringhost,intport,Stringfile)throwsMalformedURLException6/4/20239剖析URL类.URL具有五个成员方法,可以用来获取URL的五个部分:publicStringgetProtocol()publicStringgetHost()publicint

getPort()publicStringgetFile()publicStringgetRef()6/4/202310示例:URL例程publicstaticvoidmain(String

args[]){try{URLu=new

URL("/chn/index.htm");

System.out.println("在URL("+u+")当中:");

System.out.println("协议是"+u.getProtocol());

System.out.println("主机名是"+u.getHost());

System.out.println("文件名是"+

u.getFile());

System.out.println("端口号是"+____________);

System.out.println("引用是"+u.getRef());}

catch(____________________e){。。。。。}//try-catch结构结束

}//方法main结束MalformedURLExceptionu.getPort()6/4/202311本章总体纲要统一资源定位地址(URL)基于TCP的网络程序设计基于UDP的网络程序设计基于SSL的网络程序设计6/4/202312传输控制协议TCP传输控制协议TCP(TransferControlProtocol)是一种基于连接的协议,可以在两台计算机之间提供可靠的数据传输基于连接的协议服务器端与客户端通过TCP协议进行通讯TCP,反过来,运用了IP协议IP

协议只用来处理数据包6/4/202313TCP/IP网络模型服务器端ServerSocket(port#)ServerSocket.accept()OutputStreamInputStreamSocket.close()客户端Socket(host,port#)OutputStreamInputStreamSocket.close()6/4/202314类.Socket类.Socket允许如下的四种基本操作1.连接到远程的机器2.发送数据3.接收数据4.关闭连接6/4/202315类.Socket中的成员方法构造方法getInputStream():返回该socket所对应的输入流getOutputStream():返回该socket所对应的输出流6/4/202316创建类Socket的实例对象构造方法Socket()Socket(InetAddressaddress,intport)Socket(InetAddressaddress,intport,InetAddress

localAddr,int

localPort)Socket(Stringhost,intport)Socket(Stringhost,intport,InetAddress

localAddr,int

localPort)示例:SocketjavaSite=newSocket("",80);

6/4/202317示例:J_Server.java//基于TCP通讯例程的服务器端程序importjava.io.DataOutputStream;import.ServerSocket;import.Socket;publicclassJ_Server{

publicstaticvoid

main(String

args[]){

try{

ServerSocketserver=new

ServerSocket(5000);

while(true){

Sockets=server.accept();

System.out.println("服务器端接收到来自客户端的连接");

DataOutputStream

dataOut=new

DataOutputStream(s.getOutputStream());

dataOut.writeUTF("服务器端向客户端问好");

dataOut.close();s.close();}//while循环结束}

catch(Exceptione){}//try-catch结构结束

}//方法main结束}//类J_Server结束指定服务器端所采用的端口号等待并监听来自客户端的连接获得套接字所对应的输出流6/4/202318示例:基于TCP通讯例程的客户端程序J_Client.javaimport

java.io.DataInputStream;import

.Socket;public

class

J_Client{

publicstaticvoid

main(String

args[]){

try{Sockets=new

Socket("localhost",5000);

DataInputStream

dataIn=new

DataInputStream(s.getInputStream());

System.out.println("客户端接收到:"+dataIn.readUTF());

dataIn.close();

s.close();}

catch(Exceptione){}//try-catch结构结束

}//方法main结束}//类J_Client结束建立与服务器端的连接(参数:服务器的主机各,端口号获得套接字所对应的输入流6/4/202319本章总体纲要统一资源定位地址(URL)基于TCP的网络程序设计基于UDP的网络程序设计基于SSL的网络程序设计6/4/202320基于UDP的网络程序设计UDP(UserDatagramProtocal,用户数据报协议)一种简单的不可靠的无连接的网络数据传输协议6/4/202321.DatagramPacket构造方法publicDatagramPacket(byte[]buf,intoffset,intlength,InetAddressaddress,intport)成员方法publicInetAddress

getAddress()publicint

getPort()6/4/202322.DatagramSocket成员方法publicvoidsend(DatagramPacketp)throwsIOExceptionpublicvoid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论