什么是套接字(Socket)?(socket)

用Java开发网络软件非常方便和强大。Java 的强大之处在于其独特的一组强大的网络 API。这些 API 是一系列类和接口,都位于包 java.net 和 javax 中。网。在本文中,我们将介绍套接字(Socket)的概念,并通过实例说明如何使用 Network API 来操作套接字。完成本文后应用编程接口和套接字,您可以编写低端网络通信软件。

什么是套接字(Socket)?

套接字是一个抽象层,应用程序可以通过它发送或接收数据,并且可以像文件一样执行打开、读取、写入和关闭等操作。套接字允许应用程序将 I/O 插入网络并与网络中的其他应用程序进行通信。网络套接字是 IP 地址和端口的组合。

插座分类:

为满足不同通信程序对通信质量和性能的要求,一般网络系统在设计网络应用时提供三种不同类型的套接字供用户根据不同的要求进行选择。这三个套接字是流套接字(SOCK-STREAM)、数据报套接字(SOCK-DGRAM)和原始套接字(SOCK-RAW)。

(1)Stream socket。它提供了一个可靠的、面向连接的双向数据传输服务,实现了数据的无差错和重复传输。Stream socket内置了流控应用编程接口和套接字,就是把传输的数据看成是作为没有记录边界的字节流,在TCP/IP协议族中,使用TCP协议来实现字节流的传输,需要时可以使用流式套接字。

(2)数据报套接字。它提供了一种无连接的、不可靠的、双向的数据传输服务。数据包被隔离发送,记录边界被保留,不提供可靠性保证。数据在传输过程中可能会丢失或重复,并且不能保证接收端会按照发送的顺序接收到数据,在TCP/IP协议组中,UDP协议是用来实现数据报套接字的,出错的可能性较小或者在一些传输出错的应用中在允许的情况下,可以使用数据报套接字进行数据传输,从而使通信效率更高。

(3)原始套接字。该套接字允许直接访问IP或ICMP等低层协议,通常用于网络协议分析、验证新的网络协议实现,以及测试新配置或安装的网络设备.[1]

内容:

获取方式:转发+关注,然后私信小编获取!

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论