SOCK_STREAM

简介: SOCK_STREAM

SOCK_STREAM 是在BSD Socket API中定义的一种套接字类型,它对应于传输控制协议(Transmission Control Protocol,TCP)。在C语言和其他支持Socket编程的语言中,当你创建一个套接字时,可以选择使用SOCK_STREAM作为套接字类型,这表明你将通过TCP来建立一个面向连接、有序且可靠的数据传输服务。

具体特征包括:

  • 面向连接:在数据交换之前,必须先建立连接,类似于打电话的过程,双方握手成功后才能开始通信。
  • 可靠性:TCP提供了一种错误检测机制,每个数据段都有确认响应,确保数据能够无差错、不丢失、不重复地到达接收方。
  • 顺序保证:数据包按照发送顺序到达接收方,如果发生乱序,TCP会重新排序。
  • 流量控制:TCP通过滑动窗口机制管理发送速率,避免接收方来不及处理数据而导致数据溢出。
  • 拥塞控制:TCP可以根据网络状况动态调整其数据发送速度,以防止网络过载。

使用SOCK_STREAM类型的套接字通常应用于需要高可靠性和数据完整性,以及可能涉及大量数据或者长时间连续通信的应用场景,例如HTTP、FTP、SMTP等协议都是基于TCP实现的。在程序中创建此类套接字时,一般会配合AF_INET或AF_INET6地址家族(分别对应IPv4和IPv6),以便在网络上建立点对点的通信连接。

目录
相关文章
|
3月前
|
网络协议 C++
什么是Socket?
Socket(套接字)是网络通信的基本单位,它允许在不同计算机之间进行数据交换。Socket在网络编程中起着至关重要的作用,它为应用程序提供了一个机制,通过网络发送和接收数据。简单地说,Socket是进程间双向通信的端点。
25 2
|
4月前
|
网络协议 安全 网络安全
原始套接字-SOCK_RAW
原始套接字-SOCK_RAW
|
4月前
|
网络协议 网络性能优化
SOCK_STREAM(流式套接字)
SOCK_STREAM(流式套接字)
116 1
|
4月前
|
Unix API
SOCK_DGRAM
SOCK_DGRAM
138 2
|
网络协议 Unix 程序员
socket到底是什么?
socket到底是什么?
86 1
|
网络协议 安全 前端开发
socket到底是什么? 2
socket到底是什么?
106 0
stream_socket_accept peername和stream_socket_get_name
stream_socket_accept peername和stream_socket_get_name
69 0
|
网络协议
【Socket】实现MiniHttpServer
【Socket】实现MiniHttpServer
|
移动开发 缓存 网络协议
Socket总结
Socket总结
191 0
Socket总结