网络socket课件.ppt

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

哈尔滨工业大学计算机系代亚非 第九章 网络通信 网络的基本概念 Socket 通信 数据报 第一节 网络的基本概念 IP地址 主机名(hostname) 端口号(port number)如:80,21,23,25 通信协议 1. 几个重要概念 端口号和通信协议 端口号 传输层协议用端口号来标识和区分各种上层应用程序。 套接字(Socket)=IP+端口号 如何使用TCP端口号 第九章 网络通信 网络的基本概念 Socket 通信 数据报 第二节 Socket通信 网络通信的基本原理 Socket的定义 Socket的应用 1、网络通信的基本原理 计算机之间的通信是要遵循一定规则的,通信协议就是计算机之间进行通信所要遵循的各种规则的集合。网络中的不同计算机之间要实现准确、迅速地传递信息,可以通过TCP/IP协议建立网络上的两台计算机(程序)之间的可靠连接,并进行双向通信。 TCP/IP协议和OSI参考模型 TCP/IP协议栈具有简单的分层设计,与OSI参考模型有清晰的对应关系。 TCP/IP协议栈 传输层协议 TCP协议 TCP:Transfer Control Protocol 面向连接的能够提供可靠的流式数据传输的协议。类似于打电话的过程。 URL, URLConnection, Socket, ServerSocket等类都使用TCP协议进行网络通讯。 UDP协议 UDP是一个简单的不可靠的数据报协议。 非面向连接的提供不可靠的数据包式的数据传输的协议。类似于从邮局发送信件的过程。 DatagramPacket, DatagramSocket, MulticastSocket等类使用UDP协议进行网络通讯。 UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。 TCP三次握手建立连接 2、Socket通信 客户机/服务器(C/S)模式是在网络应用程序中最常用的通信模式。 在C/S模式通信过程中主动发起通信的一方被称为客户机,而监听并接受请求进行通信的一方成为服务器。服务器使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,所以一般使用大于1024的端口),等待客户端连接请求,客户端连接后,会话产生,在完成会话后,关闭连接。 C/S聊天室案例 建立套接字Socket 在服务器端使用ServerSocket类,以等待客户端的连接: ServerSocket(port); Socket主要方法 在客户端:建立socket连接后,还应该建立输入输出数据流。 getInputStream( ) 获得输入流 getOutputStream( ) 获得输出流 在服务器端: ServerSocket类的accept( )方法使服务器处于阻塞状态,等待用户请求。 例1:演示服务器与客户之间的交互,服务器等待,客户访问,相互通一次信息。 客户端向服务器发出信息:“你好”,服务器接收到信息后,给出回应:“你好,我是服务器。” 21.5 Socket 客户机端 import java.io.*; import .*; class C { public static void main(String[] args) { try{ Socket socket=new Socket(,6565); DataOutputStream out=new DataOutputStream(socket.getOutputStream()); out.writeUTF(我是客户机); DataInputStream in=new DataInputStream(socket.getInputStream()); String s=in.readUTF(); System.out.println(客户机收到:+s); }catch(Exception e){} } } 服务器端 import java.io.*; import .*; class S { public static void main(String[] args) { try{ ServerSocket s_socket=new ServerSocket(6565); Socket socket=s_socket.accept(); DataInputStream in=new DataInputStream(socket.getInputStream()); String s=in.r

文档评论(0)

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

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

1亿VIP精品文档

相关文档