网站大量收购独家精品文档,联系QQ:2885784924

应用层附加编程讲解.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用层附加编程讲解

TCP套接字编程 例子 客户机-服务器 app: 1) 客户机从标准输入 (inFromUser stream)读入行 , 经套接字 (outToServer stream) 发送给服务器 2) 服务器从套接字读行 3) 服务器转换成大写, 向客户机发送 4) 客户机读, 从套接字 (inFromServer stream) 打印修改的行 客户机/服务器套接字交互: TCP 例子: Java 客户机 (TCP) 例子: Java 客户机 (TCP) 例子: Java 服务器 (TCP) 例子: Java 服务器 (TCP) 第2章 要点 2.1 网络应用的原则 2.2 Web和HTTP 2.3 FTP 2.4 电子邮件 SMTP, POP3, IMAP 2.5 DNS 2.6 P2P 文件共享 2.7 TCP的套接字 编程 2.8 UDP的套接字 编程 2.9 构建一个 Web 服务器 UDP套接字编程 UDP: 在客户机 and 服务器之间无“连接” 没有握手 发送方为每个分组附加上目的地的IP地址和端口号no 服务器必须从接收到的分组提取IP地址,端口号 UDP: 接收到的传输数据可能失序或丢失 客户机/服务器 套接字交互: UDP 例子: Java 客户机 (UDP) 例子: Java 客户机 (UDP) 例子: Java 客户机 (UDP), cont. 例子: Java 服务器 (UDP) 例子: Java 服务器 (UDP) 构建一个简单的Web 服务器 处理一个HTTP请求 接受该请求 解析首部 从服务器的文件系统获得请求的文件 产生HTTP响应报文: 首部行+文件 向客户机发送响应 在生成服务器后, 你能够使用浏览器(如IE explorer) 请求文件 *应用层 客户机 process 客户机 TCP 套接字 outToServer 到网络 来自网络 inFromServer inFromUser 键盘 显示器 进程 clientSocket 输入流 input stream 输出流 TCP 套接字 等待入连接请求 connectionSocket = welcomeSocket.accept() 对入请求生成套接字, port=x welcomeSocket = ServerSocket() 生成套接字, 与 hostid连接, port=x ClientSocket = Socket() 关闭 connectionSocket 读回答从 ClientSocket 关闭 ClientSocket 服务器 (运行在 hostid上) 客户机 发送请求,使用 ClientSocket 读请求从 connectionSocket 写回答到 connectionSocket TCP connection setup import java.io.*; import .*; class TCP Client { public static void main(String argv[]) throws Exception { String sentence; String modifiedSentence; BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); Socket ClientSocket = new Socket(hostname, 6789); DataOutputStream outToServer = new DataOutputStream(ClientSocket.getOutputStream()); 产生输入流 产生客户机套接字, 与服务器连接 生成输出流与套接字联系 BufferedReader inFromServer = new BufferedReader(new InputStreamReader(ClientSocket.getInputStream())); sentence = inFromUser.readLine(); outToServer.writeBytes(sentence + \n); modifiedSentence = inFromServer.readLine(); System.out.println(FROM

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档