《基于Socket的网络编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运行简易的聊天程序 运行简易的聊天程序 运行简易的聊天程序 本章要求 掌握基于Socket的网络编程的基本方法 本章内容 预备知识-IP IP地址 主机在Internet上的标识 例如:00 预备知识-端口 一台机器只通过一条链路连接到网络上,但一台机器中往往有很多应用程序需要进行网络通信,如何区分呢?这就要靠网络端口号(port)了。 端口号是一个标记机器的逻辑通信信道的正整数,端口号不是物理实体。 预备知识-端口 端口号是用一个整数来表达的,其范围为0~65535,其中0~1023为系统所保留,专门给那些通用的服务,如http服务的端口号为80,telnet服务的端口号为23,ftp服务的端口为21. 当我们编写通信程序时,应选择一个大于1023的数作为端口号,以免发生冲突。 客户/服务器模式 客户/服务器模式 客户端向服务器端发送请求,服务器端响应请求。 客户端从尝试与服务器端建立连接开始,服务器接受连接。一旦建立连接,客户端和服务器就可以通过套接字进行通信。 基于Socket的网络编程 A socket is one endpoint of a two-way communication link between two programs running on the network. Java中基于Socket的网络编程用到的包 //创建服务器/客户端、连接 java.io //消息传递 基于Socket的网络编程 无论一个Socket通信程序的功能多么齐全、程序多么复杂,其基本结构都是一样的,都包括以下四个基本步骤: 1、客户端和服务器端取得连接。在客户端和服务器端方创建Socket对象。 2、打开连接到Socket的输入/输出流。 3、利用输入/输出流,通过Socket接收和发送消息。 4、关闭输入/输出流和Socket。 通常,程序员的主要工作是针对所要完成的功能在第3步进行编程,第1、2、4步对所有的通信程序来说几乎都是一样的。 服务器端的监听步骤 创建服务器对象,为服务器对象绑定端口号,服务器端在这个端口等待客户端的连接 ServerSocket server = new ServerSocket(5555); 调用服务器对象的accept函数监听端口,程序会停止在这里,一直等待客户端的连接,直至有客户端连接到该端口之后,accept函数将创建一个服务器端的Socket对象,用于与客户端的通讯 Socket serverSocket = server.accept(); 客户端的连接步骤 呼叫服务器端,创建一个Socket对象,构造函数的两个参数分别为服务器端的IP地址以及端口号 Socket clientSocket = new Socket(, 5555); 客户端程序将会连接指定IP地址主机上的指定端口,连接成功之后,便能产生客户端的Socket对象,用于和服务器端进行通信 通信双方Socket的产生过程 通过Socket接收和发送消息 文本消息发送-PrintWriter PrintWriter out = new PrintWriter( clientSocket.getOutputStream(),true); out.println(“消息内容); 文本消息接收-BufferedReader BufferedReader in = new BufferedReader( new InputStreamReader( clientSocket.getInputStream())); String s = in.readLine(); 文本消息发送-DataOutputStream DataOutputStream out = new DataOutputStream( clientSocket.getOutputStream()); out.writeUTF (“消息内容); 文本消息接收- DataInputStream DataInputStream in = new DataInputStream( clientSocket.getInputStream()); String s = in.readUTF(); 关闭Socket连接 Socket对象.close(); 基于Socket的通信过程 Exercise 客户端弹出输入框,用户输入圆的半径,将此半径发给服务器端 服务器端取得半径后计算圆面积,发回客户端,客户端显示结果 * * A机

文档评论(0)

317shaofen + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档