网络技术终稿.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 Java网络技术(一) ;11.1 TCP Sockets基础; TCP Sockets的应用模型通常是客户/服务器模型,一个服务器在一个特定端口等待远程计算机请求资源,给予响应。客户程序绑定到这个端口,建立一个可靠连接来用于通信。 面向连接的操作使用TCP协议,在这个模式下的Socket必须在发送数据之前与目的地的Socket取得一个连接。连接建立后,Socket就可以使用一个流接口:打开—读—写—关闭。所有发送的信息都会在另一端以同样的顺序被接收。面向连接的操作比无连接的操作效率低,但是数据的安全性更高。由于Socket使用是双方的,所以在客户端和服务器端的使用稍有不同。 ;(1) 客户端请求Socket的步骤如下: ① 建立客户端Socket连接; ② 得到Socket的读和写的流; ③ 利用流; ④ 关闭流; ⑤ 关闭Socket。 使用一个服务器端的Socket请求比使用一个客户端Socket请求要麻烦一些。服务器并不是主动地建立连接。相反地,服务器被动地监听客户端的连接请示,然后给它们服务。;(2) 服务器端Socket要完成以下的基本的步骤: ① 建立一个服务器Socket并开始监听; ② 使用accept()方法取得新的连接; ③ 建立输入和输出流; ④ 在已有的协议上产生会话; ⑤ 关闭客户端流和Socket; ⑥ 回到②或者转到⑦; ⑦ 关闭服务器Socket。;图11.1 面向连接的Socket协作流程图; 例如,HTTP请求通过服务器的80端口实现,服务器端类似于Socket监听,端口号为80。如果客户端希望通过应用程序获得网页,只需采用面向连接的Socket,请求80端口,获取网页数据。首先打开一个连接,请求主机为服务器网址,请求端口号为80,然后发送命令请求“GET / HTTP/1.0\r\n\r\n”,得到返回的网页。 ;11.1.1 InetAddress类 InetAddress对象表示一个Internet主机地址。这个主机地址可以通过名字和IP地址来标识。名字即主机名,例如本机名字为snowing,为字符串类型;IP地址为3,为四字节的数字,书写形式为a.b.c.d。InetAddress类的几个常用方法如下: public static InetAddress getByName(String host) throws UnknownHostException 通过名字可以得到主机的IP地址。;public String getHostAddress() 返回IP地址的字符串格式。 public String getHostName() 返回IP地址的主机名。 public static InetAddress getLocalHost() throws UnknownHostException 以InetAddress类封装的格式返回本机地址。 public String toString() 转换成字符串格式。; 【例11.1】InetAddress对象应用的测试。获取本机地址并转换成字符串输出,输出本地主机名和IP地址以及通过局域网内计算机的名字得到它的IP地址。程序源代码如下: //程序文件名FindHost.java import .*; public class FindHost { public static void main(String[] args) { try {; InetAddress h = InetAddress.getLocalHost(); System.out.println(toString(): + h.toString()); System.out.println(getHostName(): +h.getHostName()); System.out.println(getHostAddress():+h.getHostAddress()); h = InetAddress.getByName(engine); System.out.println(h.getHostName() +: + h.getHostAddress()); } catch(UnknownHostException e) { System.out.println(e.getMessage()); } } }; 编译后生成Fi

文档评论(0)

小蜗牛 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档