首页 > 编程知识 正文

c语言websocket库,c语言实现socket通信

时间:2023-05-05 08:30:16 阅读:164146 作者:1731

Socket的基本概念是顾客和服务端。 如果需要在两个APP应用程序之间进行套接字通信,则必须首先在两个APP应用程序之间建立套接字连接,发起呼叫连接请求的一侧为客户端,接收呼叫连接请求的一侧为服务器。 客户端和服务器端是相对的,相同的APP应用既可以是客户端,也可以是服务器端。

我知道网络中的进程通过套接字进行通信,但是什么是套接字呢?

首先,要明确套接字在网络模型中的位置,是APP应用层和传输层之间的桥梁

image回顾网络模型3:OSI七层网络模型3360

1.APP应用层。

2 .表示层。

3 .杩层。

4 .传输层。

5 .网络层。

6 .数据链路层

7 .物理层

TCP/IP层网络模型: APP应用层.传输层.网络层、网络接入层

HTTP协议3360属于APP应用层的面向对象协议(超文本传输协议),大多基于TCP连接方式,其特征是:

1 .客户/服务端模式支持

2 .简单快捷灵活

3 .客户端发送的每个请求都需要服务器回复,请求结束后主动释放连接,俗称“短连接”

TCP协议:传输控制协议提供连接、可靠的字节流服务,并提供超时重发、重复数据的丢弃、检查数据和流控制等功能。 在正式发送和接收数据之前,必须建立可靠的连接,即:次握手。

第一个握手:客户端将syn数据包(syn=j )发送到服务器,进入SYN_SEND状态并等待服务器确认。

第二次握手:服务器接收syn包,并需要确认客户的syn(ack=j1 )。 同时,自己也发送SYN ACK包,即syn包(syn=k )。 此时,服务器进入SYN_RECV状态。

第三次握手:客户端从服务器接收SYN ACK包,并向服务器发送确认包ack。 (ack=k1 )此包发送完成,客户端和服务器处于ESTABLISHED状态,第三次握手完成。

UDP协议:用户数据报协议用于不保证连接、可靠性的数据传输服务,由于没有超时重发等机制,所以传输速度快。

Socket:也称为套接字,APP应用程序通过套接字向网络发送请求或响应。 这是为TCP和UDP编程的接口,用于建立TCP/UDP连接。

套接字连接是一种所谓的长连接,理论上,一旦客户端和服务器建立了连接,HTTP协议“套接字连接”- -TCP连接关系:1.HTTP协议将封装或显示数据的特定格式定义为

2.Sockct连接提供网络通信能力;

3.TCP连接提供网络传输方法;

4 .套接字为纯c语言,跨平台

5.HTTP协议基于套接字,基础使用套接字

6 .创建套接字连接时,可以指定要使用的传输层协议(TCP或UDP )。 如果使用TCP协议进行连接,则此套接字连接为TCP连接。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。