Socket 编程.ppt_第1页
Socket 编程.ppt_第2页
Socket 编程.ppt_第3页
Socket 编程.ppt_第4页
Socket 编程.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Socket编程 郭苗 学习内容和目标 什么是Socket Socket通信的两种模式使用Socket进行网络通信的过程使用ServerSocket和Socket实现服务器端和客户端的Socket通信 什么是Socket 什么是Socket 套接字 所谓socket通常也称作 套接字 它用于描述IP地址和端口 是一个通信链的句柄 应用程序通常通过 套接字 向网络发出请求或者应答网络请求 换句话说 socket是连接运行在网络上得两个程序间的双向通讯的端点 Socket通信的两种模式 面向连接的面向连接的socket操作就像一部电话 他们必须建立一个连接 并由一人呼叫 所有的事情在到达时的顺序与它们出发时的顺序是一样的无连接的无连接的socket操作就像是一个邮件投递 没有什么保证 多个邮件可能在到达时的顺序与出发时的顺序不一样 两种模式分别使用的协议 面向连接的操作使用TCP协议 这个模式下的socket必须在发送数据之前与目的地的socket取得一个连接 一旦连接建立了 socket就可以使用一个流接口 打开 读 写 关闭 所有的发送的信息都会在另一端以同样的顺序被接收 面向连接的操作比无连接的操作效率低 但是数据的安全性更高 无连接的操作使用数据报 UDP 协议 一个数据报是一个独立的单元 它包含了所有的这次投递的信息 把它想象成一个信封吧 它有目的地址和要发送的内容这个模式下的socket不需要连接一个目的地socket 它只是简单地投出数据报 无连接的操作是快速的和高效的 但是数据安全性不佳 两类传输协议 TCP UDP TCP是TransferControlProtocol的简称 是一种面向连接的保证可靠的传输的协议 通过TCP协议传输 得到的是一个顺序的无差错的数据流 发送方和接受方的 成对的两个Socket之间必须建立连接 以便在TCP协议的基础上进行通信 当一个Socket 通常是Serversocket 等待建立连接时 另一个socket可以要求进行连接 一旦这两个socket连接起来 它们就可以进行双向数据传输 双方都可以进行发送或操作因为要安全可靠相对的要付出一定代价 传输效率不如UDP高 两类传输协议 TCP UDP UDP是UserDatagramProtocol的简称 是一种无连接的协议 每个数据报都是一个独立的信息 包括完整的源地址或目的地址 它在网络上以任何可能的路径传往目的地 因此能否到达目的地 到达目的地的时间以及内容的正确性都是不能被保证的 这样的特性决定了那些不要求音频视频数据绝对正确 只要保证连贯性即可的场合 JDK中的网络类 通过包中的类 java程序能够使用TCP或UDP协议在互联网上进行通信ServerSocketSocketDatagramSocketDatagramPacket Socket通信过程 1 服务器程序将一个套接字绑定到一个特定的端口 并通过此套接字等待和监听客户端的连接请求 2 客户程序根据服务器程序所在的主机名和端口号发出连接请求 server port Client Connectionrequest Socket通信过程 3 如果一切正常 服务器接受连接请求 并获得一个新的绑定到不同端口地址的套接字4 客户端和服务器端通过读 写套接字进行通讯 Server port port Client Connection ServerSocket和Socket的交互 Server ServerSocket port ServerSocket accept Socket OutputStream InputStream Socket close Client Socket server port OutputStream InputStream Socket close 本章总结 服务器端 客户端 1 创建ServerSocket2 接受客户端连接请求 返回一个Socket3 获取输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论