java之网络编程.ppt
《java之网络编程.ppt》由会员分享,可在线阅读,更多相关《java之网络编程.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络编程网络编程网络编程基础网络编程基础vIP地址地址u对于一个基于对于一个基于TCP/IP的网络,每个连接均由的网络,每个连接均由一个称为一个称为IP地址的地址的32位数作为唯一标识位数作为唯一标识u例如例如202.103.34.28u拥有一个以上拥有一个以上IP地址的计算机称为地址的计算机称为多宿主机多宿主机v域名域名u域名即主机名域名即主机名u每次使用域名时,系统都会自动将其转换成数每次使用域名时,系统都会自动将其转换成数字形式的字形式的IP地址地址u在网络中,在网络中,IP地址是唯一的,一个域名对应地址是唯一的,一个域名对应一个一个IP地址,而一个地址,而一个IP地址可以有多个域名对地
2、址可以有多个域名对应应u本地回路的地址本地回路的地址u127.0.0.1ulocalhostvInetAddress类类u包含一个包含一个Internet主机地址的域名和主机地址的域名和IP地址,用如地址,用如下格式显示所包含的信息下格式显示所包含的信息 publicURLgetURL()获取链接所指向的获取链接所指向的URL资源资源publicHyperlinkEvent.EventTypegetEventType()客户与服务器编程客户与服务器编程v创建客户程序创建客户程序Server端端Client端端创建创建ServerSocket对象,对象,在某个端口提供监听服务在某个端口提供监听服
3、务等待来自客户端的服务请求等待来自客户端的服务请求接受客户端的服务请求,接受客户端的服务请求,用返回的用返回的Socket建立连接建立连接向用向用Socket连接建连接建立的流中读写数据立的流中读写数据结束与当前客户的通信,结束与当前客户的通信,等待其他客户请求等待其他客户请求关闭关闭ServerSocket对对象,结束监听服务象,结束监听服务创建创建Socket对象,向对象,向Socket的监听端口发出请求的监听端口发出请求向用向用Socket连接建连接建立的流中读写数据立的流中读写数据关闭关闭Socket,结束与,结束与服务器端的通信服务器端的通信拆除连接拆除连接数据通信数据通信建立连接建
4、立连接tryInetAddressaddress=InetAddress.getByName(“127.0.0.1”);Socketsocket=newSocket(address,4331);DataInputStreamin=newDataInputStream(socket.getInputStream();DataOutputStreamout=newDataOutputStream(socket.getOutputStream();in.close();out.close();socket.close();catch(UnknownHostExceptionuhe)catch(IOE
5、xceptionioe)客户端框架客户端框架1trySocketsocket=newSocket();InetAddressaddress=InetAddress.getByName(“127.0.0.1”);InetSocketAddresssocketAddress=newInetSocketAddress(address,4331);socket.connect(socketAddress);DataInputStreamin=newDataInputStream(socket.getInputStream();DataOutputStreamout=newDataOutputStrea
6、m(socket.getOutputStream();in.close();out.close();socket.close();catch(UnknownHostExceptionuhe)catch(IOExceptionioe)客户端框架客户端框架2tryServerSocketsrvskt=newServerSocket(4331);Socketcltskt=srvskt.accept();DataInputStreamin=newDataInputStream(cltskt.getInputStream();DataOutputStreamout=newDataOutputStream
7、(cltskt.getOutputStream();in.close();out.close();cltskt.close();srvskt.close();catch(IOExceptionioe)服务器端框架服务器端框架v编写服务器应用程序编写服务器应用程序u客户负责呼叫,因此服务器必须建立一个等客户负责呼叫,因此服务器必须建立一个等待接收客户的待接收客户的ServerSocket对象对象u服务器通过服务器通过accept()方法得到与客户端相连方法得到与客户端相连的的Socket对象对象(记为记为sc)后,可以通过后,可以通过sc使用使用getOutputStream()方法打开输出流。
8、该输出方法打开输出流。该输出流指向客户端流指向客户端Socket对象(记为对象(记为mysocket)使)使用用getInputStream()方法获取的输入流。方法获取的输入流。u同样,也可通过同样,也可通过sc使用使用getInputStream()方方法打开输入流法打开输入流u从套接字连接中读取数据与从文件中读取数从套接字连接中读取数据与从文件中读取数据有很大不同。可能在另一端数据发送出来之据有很大不同。可能在另一端数据发送出来之前,就已经开始读取了,这时会前,就已经开始读取了,这时会阻塞本线程阻塞本线程直直到成功读取信息为止到成功读取信息为止u在服务器端的在服务器端的accept()方
9、法也会方法也会阻塞阻塞线程的继续执线程的继续执行,直到接收到客户的呼叫行,直到接收到客户的呼叫u双方通信完毕后,套接字应使用双方通信完毕后,套接字应使用close()方法关闭方法关闭套接字连接套接字连接vSocket类类upublicSocket(InetAddressaddress,intport)throwsIOExceptionupublicSocket(InetAddressaddress,intport,InetAddresslocalAddr,intlocalPort)throwsIOExceptionupublicSocket(Stringhost,intport)throwsU
10、nknownHostException,IOExceptionhost为主机名为主机名upublicSocket(Stringhost,intport,InetAddresslocalAddr,intlocalPort)throwsIOExceptionupublicInetAddressgetInetAddress()upublicInetAddressgetLocalAddress()upublicintgetPort()upublicintgetLocalPort()upublicInputStreamgetInputStream()throwsIOExceptionupublicOut
11、putStreamgetOutputStream()throwsIOExceptionupublicvoidclose()throwsIOExceptionupublicbooleanisConnected()upublicvoidconnect(SocketAddressendpoint)throwsIOExceptionvInetSocketAddressupublicInetSocketAddress(InetAddressaddr,intport)upublicInetSocketAddress(Stringhostname,intport)java.lang.O.SocketA.In
12、etSocketAddressvServerSocket类类upublicServerSocket(intport)throwsIOException端口号必须和客户呼叫的端口号相同。若端口已被占端口号必须和客户呼叫的端口号相同。若端口已被占用或创建用或创建Socket连接时出现错误,则引发异常连接时出现错误,则引发异常IOExceptionupublicServerSocket(intport,intbacklog)throwsIOExceptionbacklog是连接请求队列的最大长度是连接请求队列的最大长度upublicSocketaccept()throwsIOException返回与
13、客户端相连接的返回与客户端相连接的Socket对象对象upublicInetAddressgetInetAddress()返回服务器套接口的本地地址返回服务器套接口的本地地址upublicintgetLocalPort()返回套接字正在侦听的端口返回套接字正在侦听的端口upublicvoidsetSoTimeout(inttimeout)throwsSocketException设置服务器端使用设置服务器端使用accept()侦听客户请求的时间,当侦听客户请求的时间,当ServerSocket对象调用对象调用accept()阻塞的时间超过阻塞的时间超过timeout时,时,将触发将触发Sock
14、etTimeoutException事件事件upublicvoidclose()throwsIOException例:例:echo服务器与客户端服务器与客户端vecho协议要求服务器等待到来的连接,把协议要求服务器等待到来的连接,把接收到的每行文本发回给客户端,直到连接收到的每行文本发回给客户端,直到连接终止接终止u服务器与一个客户的连接终止后能响应其他服务器与一个客户的连接终止后能响应其他客户的连接请求客户的连接请求u服务器能同时服务于多个客户服务器能同时服务于多个客户u客户向服务器发送客户向服务器发送“.QUIT”(忽略大小写忽略大小写),服务器将该串发回后即终止连接服务器将该串发回后即终
15、止连接u客户向服务器发送客户向服务器发送“.SHUTDOWN”(忽略大小忽略大小写写),服务器发回,服务器发回”.QUIT”,不再响应后续客,不再响应后续客户请求户请求v在在echo协议中,客户端与服务器建立协议中,客户端与服务器建立Socket连接后向服务器发出串,并读出反连接后向服务器发出串,并读出反馈回来的串。如果反馈回的串为馈回来的串。如果反馈回的串为”.QUIT”,则终止连接则终止连接u如果要终止连接,则向服务器发出如果要终止连接,则向服务器发出”.QUIT”(忽略大小写)(忽略大小写)u如果要使服务器停止接收客户请求,则向服如果要使服务器停止接收客户请求,则向服务器发出务器发出”.
16、SHUTDOWN”(忽略大小写)(忽略大小写)例:简单的浏览器开发例:简单的浏览器开发v用户可以在文本框中输入用户可以在文本框中输入URL地址,地址,Web页面的内容显示在文本区中页面的内容显示在文本区中u显示包含在显示包含在Web页面中的所有超链接页面中的所有超链接u翻译某些基本的翻译某些基本的HTML标记标记u隐藏没有翻译的隐藏没有翻译的HTML标记及内容标记及内容常见常见HTML标记标记vvvvvv加粗加粗v斜体斜体v标记一个段落标记一个段落v区隔标记区隔标记v换行换行vv使特定页面出现在新的浏览器窗体中使特定页面出现在新的浏览器窗体中v项目列表中的第一项项目列表中的第一项项目列表中的第
17、二项项目列表中的第二项v数字列表中的第一项数字列表中的第一项数字列表中的第二项数字列表中的第二项v要求将要求将、标记翻译为标记翻译为”n”v要求将要求将标记翻译为标记翻译为”n*”v要求将要求将标记翻译为标记翻译为Ahref=v忽略其余标记忽略其余标记v翻译某些基本翻译某些基本HTML标记的算法标记的算法u整个原始串按整个原始串按”符号分解,符号分解,前部分包括前部分包括HTML标记和某些选项,后部分为无标记和某些选项,后部分为无标记的文本,也可能为空标记的文本,也可能为空u为分解后的前部分创建为分解后的前部分创建HTMLTag对象,为后部对象,为后部分创建分创建HTMLText对象,并按顺序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 网络 编程
限制150内