javaSocket传输模式

javaSocket传输模式Sockets有两种主要的操作方式:面向连接的和无连接的.面向连接的sockets操作就像一部电话,他们必须建立一个连接和一人呼叫.所有的事情在到达时的顺序与它们出发时的顺序时一样.无连接的sockets操作就像是一个邮件投递,,没有什么保证,多个邮件可能在到达时的顺序与出发时的顺序不一样.到底用哪种模式是邮应用程序的需要决定的.如果可靠性更重要的话,用面向连接的操作会好一些.比如文件服务器需要他们

大家好,又见面了,我是你们的朋友全栈君。

Sockets有两种主要的操作方式:面向连接的和无连接的.面向连接的sockets操作就像一部电话,他们必须建立一个连接和一人呼叫.所有的事情在到达时的顺序与它们出发时的顺序时一样.无连接的sockets操作就像是一个邮件投递,,没有什么保证,多个邮件可能在到达时的顺序与出发时的顺序不一样.

到底用哪种模式是邮应用程序的需要决定的.如果可靠性更重要的话,用面向连接的操作会好一些.比如文件服务器需要他们的数据的正确性和有序性.如果一些数据丢失了,系统的有效性将会失去.一些服务器,比如间歇性地发送一些数据块.如果数据丢了的话,服务器并不想要再重新发过一次.因为当数据到达的时候,它可能已经过时了.确保数据的有序性和正确性需要额外的操作的内存消耗,额外的费用将会降低系统的回应速率.

无连接的操作使用数据报协议.一个数据报是一个独立的单元,它包含了所有的这次投递的信息.把它想象成一个信封吧,它有目的地址和要发送的内容.这个模式下的socket不需要连接一个目的的socket,它只是简单地投出数据报.无连接的操作是快速的和高效的,但是数据安全性不佳.

面向连接的操作使用TCP协议.一个这个模式下的socket必须在发送数据之前与目的地的socket取得一个连接.一旦连接建立了,sockets就可以使用一个流接口:打开-读-写-关闭.所有的发送的信息都会在另一端以同样的顺序被接收.面向连接的操作比无连接的操作效率更低,但是数据的安全性更高.

SUN一直是网络建设的支持者,所以在Java中支持sockets就不足为奇了.实际上,Java降低了建立一个sockets程序的难度.每一个传输模式都被封装到了不同的类中.面向连接的类将会首先被我们讨论.

Sockets有两种主要的操作方式:面向连接的和无连接的.面向连接的sockets操作就像一部电话,他们必须建立一个连接和一人呼叫.所有的事情在到达时的顺序与它们出发时的顺序时一样.无连接的sockets操作就像是一个邮件投递,,没有什么保证,多个邮件可能在到达时的顺序与出发时的顺序不一样.

到底用哪种模式是邮应用程序的需要决定的.如果可靠性更重要的话,用面向连接的操作会好一些.比如文件服务器需要他们的数据的正确性和有序性.如果一些数据丢失了,系统的有效性将会失去.一些服务器,比如间歇性地发送一些数据块.如果数据丢了的话,服务器并不想要再重新发过一次.因为当数据到达的时候,它可能已经过时了.确保数据的有序性和正确性需要额外的操作的内存消耗,额外的费用将会降低系统的回应速率.

无连接的操作使用数据报协议.一个数据报是一个独立的单元,它包含了所有的这次投递的信息.把它想象成一个信封吧,它有目的地址和要发送的内容.这个模式下的socket不需要连接一个目的的socket,它只是简单地投出数据报.无连接的操作是快速的和高效的,但是数据安全性不佳.

面向连接的操作使用TCP协议.一个这个模式下的socket必须在发送数据之前与目的地的socket取得一个连接.一旦连接建立了,sockets就可以使用一个流接口:打开-读-写-关闭.所有的发送的信息都会在另一端以同样的顺序被接收.面向连接的操作比无连接的操作效率更低,但是数据的安全性更高.

SUN一直是网络建设的支持者,所以在Java中支持sockets就不足为奇了.实际上,Java降低了建立一个sockets程序的难度.每一个传输模式都被封装到了不同的类中.面向连接的类将会首先被我们讨论.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149471.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 查看webpack版本命令_webpack阮一峰

    查看webpack版本命令_webpack阮一峰想着搞一下webpack的构建优化,网上看到一些方法说是要webpack4及以上的才能用。然后就要看看是啥版本来着——查看当前项目的webpack版本1.命令行执行npxwebpack-v(最方便啦)因为webpack是局部安装,要进入依赖包执行webpack的命令才有效,直接webpack-v会被认为命令无效。使用npm包执行器npx可以自动找到对应的包执行命令(一般安装了npm会自动安装npx)2.在package.json添加script命

    2022年8月10日
    46
  • CreateFile()打开串口失败,返回句柄值为0xffffffff

    CreateFile()打开串口失败,返回句柄值为0xffffffff出错情况:设备1和设备2分别使用COM1和COM2外界通信,在不关闭软件的情况下,调换串口(即设备1/2,分别使用COM2/1),此时出错?以下是查找原因的步骤:_hCommHandle=::CreateFile( _szCommStr, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLA

    2022年5月16日
    53
  • ghost备份与还原系统教程 如何备份系统_重装系统如何备份

    ghost备份与还原系统教程 如何备份系统_重装系统如何备份备份系统完成操作系统、驱动程序或所需软件的安装后,可以利用Ghost工具将系统分区“复制”到一个镜像文件中,在系统出现问题时再将镜像文件还原到系统盘即可,还原时所需的时间也只有10分钟左右,既方便又快捷。使用Ghost备份系统的具体操作方法如下:第1步:双击程序图标,使用U盘启动盘进入PE系统,在桌面上双击“GHOST克隆”图标。第2步:单击OK按钮,启动SymantecGhost程序,此时将弹出提示信息框,单击OK按钮。第3步:单击ToIlmage命令,单

    2025年9月6日
    7
  • Authentication failure. Retrying – 彻底解决vagrant up时警告

    Authentication failure. Retrying – 彻底解决vagrant up时警告

    2022年2月9日
    95
  • datagrid激活码【中文破解版】「建议收藏」

    (datagrid激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    43
  • mac上的mysql管理工具sequel pro

    mac上的mysql管理工具sequel pro

    2021年10月17日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号