网络编程-----socket(套接字)

本文概述了socket的历史,从1982年Berkeley引入到支持TCP/IP的扩展,强调了它作为一种通用网络编程接口的重要性,包括流式套接字(TCP)、数据报套接字(UDP)和原始套接字的功能及其在网络通信中的作用。
摘要由CSDN通过智能技术生成

        socket(套接字)的发展历史

1)1982 - Berkeley Software Distributions 操作系统引入了socket作为本地进程之间通信的接口

2)1986 - Berkeley 扩展了socket 接口,使之支持UNIX 下的TCP/IP 通信

3)现在很多应用 (FTP, Telnet) 都依赖这一接口 

        socket(套接字)的介绍

 1.是一个编程接口

 2、是一种特殊的文件描述符 (everything in Unix is a file)

 3、socket是一种通信机制,并不仅限于TCP/IP协议

 4、面向连接 (Transmission Control Protocol - TCP/IP)

 5、无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX)

为什么需要socket

1.普通的I/O操作过程 :打开文件->读/写操作->关闭文件 

2.TCP/IP协议被集成到操作系统的内核中,引入了新型的“I/O”操作 ----->进行网络通信的两个进程在不同的机器上,如何连接? 网络协议具有多样性,如何进行统一的操作 ?

需要一种通用的网络编程接口:Socket

socket的类型

        流式套接字(SOCK_STREAM)   TCP

        提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。

        数据报套接字(SOCK_DGRAM)  UDP

        提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。

        原始套接字(SOCK_RAW)

        可以对较低层次协议如IP、ICMP直接访问,还有一些ping命令

socket的位置

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖风吹过潍坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值