



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章讨论JDK对socket和socket编程的支持。socket编程用来与在相同的网络上的另一台计算机上运行的程序进行通信。在完成本章学习之后,你应当能够:l 开发代码来建立网络连接l 理解TCP/IP和UDP协议l 用ServerSocket和Socket类来实现TCP/IP客户和服务器l 了解DatagramPacket和DatagramSocket来有效地进行基于UDP的网络通信1、socketsocket是指在一个特定编程模型下,进程间通信链路的端点。因为这个特定编程模型的流行,socket这个名字在其他领域得到了复用,包括Java技术。当进程通过网络进行通信时,Java技术使用它的流模型。一个socket包括两个流:一个输入流和一个输出流。如果一个进程要通过网络向另一个进程发送数据,只需简单地写入与socket相关联的输出流。一个进程通过从与socket相关联的输入流读来读取另一个进程所写的数据。建立网络连接之后,使用与socket相关联的流和使用其他流是非常相似的。2、建立连接如果要建立连接,一台机器必须运行一个进程来等待连接,而另一台机器必须试图到达第一台机器。这和电话系统类似;一方必须发起呼叫,而另一方在此时必须等待电话呼叫。3、连接的地址你发起电话呼叫时,你必须知道所拨的电话号码。如果要发起网络连接,你需要知道远程机器的地址或名字。此外,每个网络连接需要一个端口号,你可以把它想象成电话的分机号码。一旦你和一台计算机建立连接,你需要指明连接的目的。4、端口号TCP/IP系统中的端口号是一个16位的数字,它的范围是065535。实际上,小于1024的端口号保留给预定义的服务,而且除非要和那些服务之一进行通信(例如telnet,SMTP邮件和ftp等),否则你不应该使用它们。客户和服务器必须事先约定所使用的端口。如果系统两部分所使用的端口不一致,那就不能进行通信。5、Java网络模型在Java编程语言中,TCP/IP socket连接是用包中的类实现的。下图说明了服务器和客户端所发生的动作。l 服务器分配一个端口号。如果客户请求一个连接,服务器使用accept()方法打开socket连接。l 客户在host的port端口建立连接。l 服务器和客户使用InputStream和OutputStream进行通信。6、最小TCP/IP服务器TCP/IP服务器应用程序依靠Java技术语言提供的网络类:ServerSocket类完成了建立一个服务器所需的大部分工作。 7、最小TCP/IP客户一个TCP/IP应用程序的客户方依靠Socket类。Socket类完成了建立一个连接所需的大部分工作。客户连接到上一页所示的服务器上,并将服务器发送的所有数据显示在控制台上。 8、UDP socketTCP/IP是面向连接的协议。而用户数据报协议(UDP)是一种无连接的协议。要区分这两种协议,一种很简单而又很贴切的方法是把它们比作电话呼叫和邮递信件。电话呼叫保证有一个同步通信;消息按给定次序发送和接收。而对于邮递信件,即使能收到所有的消息,它们的顺序也可能不同。用户数据报协议(UDP)由Java软件的DatagramSocket和DatagramPacket类支持。包是自包含的消息,它包括有关发送方、消息长度和消息自身。1)DatagramPacketDatagramPacket有两个构造函数:一个用来接收数据,另一个用来发送数据:l DatagramPacket( byte recvBuf,int readLength ) 用来建立一个字节数组以接收UDP包。byte数组在传递给构造函数时是空的,而int值用来设定要读取的字节数(不能比数组的大小还大)l DatagramPacket( byte sendBuf,int sendLength,InetAddress iaddr,int iport )用来建立将要传输的UDP包。sendLength 不应该比sendBuf字节数组的大小要大2)DatagramSocketDatagramSocket用来读写UDP包。这个类有三个构造函数,允许你指定要绑定的端口号和internet地址:l DatagramSocket( ):绑定本地主机的所有可用端口l Da
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 直肠术后造口护理
- 2024中国蓝领就业调研报告
- 经营管理理念培训
- 电力入厂培训课件
- 客户服务流程管理合同(2篇)
- 江苏2025年03月江苏省省属事业单位统一公开招考工作人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 移动公司半年工作总结
- 2025年04月黑龙江省农业科学院工作人员92人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 防近视幼儿园课件
- 民间舞教材课件
- 人力资源社会保障部所属单位招聘真题2024
- 保定雄安新区容城县招聘事业单位真题2024
- 2025-2030中国手术包行业市场发展分析及投资前景预测研究报告
- 2024年上海市《辅警招聘考试必刷500题》考试题库(典优)
- AI技术在舞蹈实训空间设计中的创新应用
- 钢筋机械连接技术规程 JGJ 107-2016
- 德育主题班会 《遵义会议》教学课件
- 药品经营中存在的问题及监管对策
- ZN73A(X)永磁式户内中压真空断路器
- 水利工程供水定价成本监审办法
- 石头峡水电站水利枢纽工程坝体设计说明书毕业设计
评论
0/150
提交评论