【C++】Socket网络编程

本文详细介绍了Socket编程的基础知识,包括Socket的概念,Socket与TCP/IP的关系,以及Socket编程中的关键接口如Socket(), Bind(), Connect(), Accept(), Write/Read等的使用方法。通过示例展示了如何在VS2015中实现TCP客户端和服务器的Socket通信。" 53525005,5654350,使用BottomSheet实现Android弹出框,"['Android开发', 'UI设计', '底部弹窗', '交互设计']
摘要由CSDN通过智能技术生成

本文将介绍

①Socket是什么
②Socket与TCP/IP的关系
③Socket编程中具体接口的用法 Bind() Connect() Accept() etc..
④Socket编程示例(VS2015)下载示例

1. Socket(套接字)是什么

Socket(套接字)是指通讯设备的连接端点,不用于网口、USB端口这样的端点是实质的,套接字是虚拟的,包含了通讯所需的信息的端口。套接字有很多种,本文主要介绍Internet套接字。Internet套接字包含网络通讯必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远程主机的IP地址,远程主机进程的协议端口。
Internet套接字有以下几种:
SOCK_STREAM:流式套接字,提供面向连接的稳定数据流传输,即TCP协议。
SOCK_DGRAM:数据报套接字,使用不连续不可靠的数据包连接,即UDP协议。
SOCK_SEQPACKET:有序分组套接字,提供连续可靠的数据包连接。
SOCK_RAW:原始套接字,允许对底层协议直接访问,如IP/ICMP协议等。
SOCK_RDM:提供可靠的数据包连接。
SOCK_PACKET:与网络驱动程序直接通信。

2. Socket与TCP/IP关系

关于TCP/IP
相信很多人都听过Socket(套接字)和TCP/IP,两者总是一起出现,好似是同一个东西,但我们都知道它们是不一样的,那究竟两者有什么关系
Socket包含了连接使用的协议,这个协议指的就是TCP/IP协议族。TCP/IP协议族不只是TCP和IP,它可以详细分为四层,每层上有不同的协议,对应ISO-OSI七层网络模型。

OSI七层网络模型

TCP/IP四层概念模型  

对应网络协议

应用层(Application

应用层

HTTPTFTP, FTP, NFS, WAISSMTP

表示层(Presentation

Telnet, Rlogin, SNMP, Gopher

会话层(Session

SMTP, DNS

传输层(Transport

传输层

TCP, UDP

网络层(Network

网络层

IP, ICMP, ARP, RARP, AKP, UUCP

数据链路层(Data Link

数据链路层

FDDI, Ethernet, Arpanet, PDN, SLIP, PPP

物理层(Physical

IEEE 802.1A, IEEE 802.2IEEE 802.11

TCP/IP内容非常庞大,此处不展开讲解,后面文章会详细讲解TCP/IP协议族。此处下载《TCP/IP协议详解 - 第五版》  点击打开链接

TCP/IP协议族之间的抽象关系可用下图表示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值