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

JAVA零基础讲义ch008.ppt

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

河北农业大学计算机系孙晨霞 * 8.8 小结 实现网络功能要靠URL类, URLConection类, Socket类和DatagramSocket类 网络上的数据传送是将网络连接转换成输入输出流 DataInputStream和DataOutputStream (PrintStream)是网间流的载体. URL适用于web应用,如访问http服务器是高层服务 URLConection的另一边通常是cgi程序 河北农业大学计算机系孙晨霞 * 8.6 小结 回绕地址可用于在本地机器上调试网络程序 Socket适用于面向连接的,可靠性要求高的应用 Datagram适用于效率要求高的应用 Socket是由IP和端口构成的一种网上通信链路的一端 Socket通信要分别运行服务器和客户程序 服务器程序是多线程的,可处理多个客户的请求 河北农业大学计算机系孙晨霞 * 作业 编写一个会话程序 要求: 会话双方可以自由通话,看到对方发来“bye”则退出 河北农业大学计算机系孙晨霞 * 8.5 Socket 支持多客户 一种解决方案: 一台计算机上一次启动多个服务器程序,只要端口号不同.\myjava\clientAndServerTest myserver --------myclient----f8.bat myserver2--------myclient2----f9.bat Server1(1111) client(2222) Server2(2222) client(1111) Computer 1 河北农业大学计算机系孙晨霞 * 8.5 Socket 第二种方案: (支持多客户) Server client1 client2 serverthread serverthread 将服务器写成多线程的,不同的线程为不同的客户服务. main()只负责循环等待 线程负责网络连接,接收客户输入的信息 河北农业大学计算机系孙晨霞 * 8.5 Socket . 客户1 客户2 服务器 线程() 线程2 线程( ) 线程( ) 河北农业大学计算机系孙晨霞 * . 8.5 Socket 创建服务器(端口号) 定义数据成员 服务器等待 网络连接 建立socket流 读客户 端信息 提示用户输入客户名 创建Socket实例 定义数据成员 建立socket流 读socket流 (看到提示) 送用户名给 服务器 关闭流 waiting for user 1111 1111 login: connetcting client... java 提示用户登录成功 读socket流 User :java Login successful 河北农业大学计算机系孙晨霞 * 8.5 Socket public static void main(String args[]) {ServerSocket serverSocket=null; try{serverSocket=new ServerSocket(1111); }catch(Exception e){ System.out.println(”Error”+e);System.exit(1);} while(true) {Socket clientSocket=null; System.out.println(waiting for users...); try { clientSocket=serverSocket.accept(); }catch(IOException e){ System.out.println(accept failed:+e);} new serverThread(clientSocket).start(); }} 河北农业大学计算机系孙晨霞 * 8.5 Socket class serverThread extends Thread { DataInputStream input; PrintStream output; String user; Socket clientSocket; serverThread(Socket clientSocket) { this.clientSocket=clientSocket; } public void run() { try{ input=new DataInputStream (clientSocket.getInputStream()); out

文档评论(0)

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

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

1亿VIP精品文档

相关文档