第四十七节 Linux系统编程-网络通信-套字节TCP(一)

本文介绍了Linux系统编程中的TCP网络通信基础知识,包括TCP协议特性、服务器客户端通信流程及套接字编程实践。通过示例展示了如何在Ubuntu服务器上创建并运行服务器程序,以及在iTOP-4412开发板上编译运行客户端程序,实现连接通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.

第一:

 实战 网络通信-套字节 TCP

--TCP协议和UDP协议是5层网络协议传输层最重要的协议

--TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务

 

现在看一下基于 TCP/IP 应用程序通信的流程,如下图

 

通过上图可以看到 TCP/IP 通信是基于服务器/客户端的模式来实现的

1)首先是服务器(server)调用 socket 函数创建一个套接字,然后调用 bind 绑定函数,绑定函数主要是设置通信时使用哪种地址族(IPv4,IPv6 等),使用的端口号。然后调用 listen 函数来监听客户端的连接请求。

2)现在来看下客户端(client)的流程,首先调用 socket 函数创建一个套接字,然后调用connect 函数连接服务器,这时服务器端的 listen 函数监听到客户端的连接请求就会调用accept 函数去接受请求,这样连接就建立好了。之后双方就可以调用 read/write 函数收发数据了,在完成通信以后服务器(server)和客户端(client)调用 close 函数关闭创建的套接字。

 

第二:

下面来编译下这两个程序

1)服务器(server)的程序运行在虚拟机 Ubuntu 上,所以使用下面的命令编译:gcc -o server server.c

#include &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值