Linux网络编程3
创始人
2024-09-25 12:19:50
0

并发服务器

1.TCP多进程并发服务器

服务器端:

客户端:

2.TCP多线程服务器

服务器端:

客户机端:

需要学习的函数还有

1. send() 函数

send() 函数用于在套接字上发送数据。它是网络编程中发送数据到对端的主要函数之一。

函数原型

#include
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
  • sockfd:套接字文件描述符,是通过socket()函数创建的。
  • buf:指向要发送数据的缓冲区的指针(发送缓冲区的首地址)。
  • len:要发送的数据的字节数。
  • flags:调用send()时的选项标志,通常设置为0(作用和write相同)。其中:MSG_DONTWAIT,非阻塞。MSG_OOB:用于TCP类型的带外数据(out of band(通常用于终中断的操作))

返回值:成功时返回发送的字节数(可能小于请求发送的字节数),出错时返回-1并设置errno。

2. recv() 函数

recv() 函数用于从套接字接收数据。它是网络编程中接收对端发送数据的主要函数之一。

函数原型

#include
ssize_t recv(int sockfd, void *buf, size_t len, int flags);
  • sockfd:套接字文件描述符。
  • buf:指向接收数据的缓冲区的指针。
  • len:缓冲区的大小,即最多可以接收的字节数。
  • flags:调用recv()时的选项标志,通常设置为0。

返回值:成功时返回接收到的字节数(可能小于请求接收的字节数,例如,当对方发送的数据量小于请求量时),连接被对方正常关闭时返回0,出错时返回-1并设置errno。

3. read() 函数

read() 函数是UNIX/Linux系统调用之一,用于从文件描述符(包括套接字)读取数据。在网络编程中,它也可以用来从套接字接收数据,但通常recv()函数更为常用,因为recv()提供了更丰富的错误处理和选项。

函数原型

#include
ssize_t read(int fd, void *buf, size_t count);
  • fd:文件描述符,对于套接字编程来说,这就是套接字文件描述符。
  • buf:指向缓冲区的指针,用于存储读取的数据。
  • count:请求读取的字节数。

返回值:成功时返回读取的字节数(可能小于请求读取的字节数),到达文件末尾时返回0,出错时返回-1并设置errno。

区别与联系

  • 使用场景:在网络编程中,send()recv() 专门用于套接字通信,而 read() 虽然也可以用于套接字,但更通用,可用于文件、管道等多种类型的文件描述符。
  • 功能send()recv() 提供了更丰富的网络编程特性,如消息边界的保持(在某些套接字类型中),而 read() 则更基础,更通用。
  • 性能:在大多数情况下,对于套接字通信,send()recv() 的性能与 read() 相当,但使用send()recv() 可以使代码更清晰,更易于理解和维护。

相关内容

热门资讯

黑科技免费(wpk代打)外挂透... 黑科技免费(wpk代打)外挂透明挂辅助插件(透明挂黑科技)果然是真的有挂(有挂透明挂)-哔哩哔哩1、...
黑科技安装!智星德州菠萝安全(... 黑科技安装!智星德州菠萝安全(微扑克有挂么)往昔有挂(详细教程)-哔哩哔哩1、实时微扑克有挂么开挂更...
黑科技系统(德扑快速计算胜率)... 黑科技系统(德扑快速计算胜率)外挂透明挂辅助器(透视)竟然真的有挂(有挂总结)-哔哩哔哩在进入德扑快...
揭秘关于!AA POKER下载... 揭秘关于!AA POKER下载软件(黑科技)外挂ai辅助辅助神器(有挂辅助)-哔哩哔哩是一款可以让一...
黑科技辅助!德州wpk辅助(透... 黑科技辅助!德州wpk辅助(透视)AI教程(2022已更新)(哔哩哔哩);1、德州wpk辅助机器人多...
黑科技神器(wpk规律)外挂透... 黑科技神器(wpk规律)外挂透明挂辅助黑科技(ai辅助)都是真的有挂(有挂教学)-哔哩哔哩1、wpk...
黑科技软件!扑克时间辅助软件(... 一、德扑ai软件靠谱吗简介了解软件请加微:136704302德扑ai软件靠谱吗是一款在线扑克游戏平台...
黑科技代打(微扑克代打是真的吗... 黑科技代打(微扑克代打是真的吗)外挂透明挂辅助工具(透视)原来真的是有挂(证实有挂)-哔哩哔哩;运微...
免费测试版!德州微扑克外挂是真... 免费测试版!德州微扑克外挂是真的吗(黑科技)外挂智能ai辅助助手(有挂技巧)-哔哩哔哩1、构建自己的...
黑科技最新!wepokewep... 黑科技最新!wepokewepoke透视挂怎么测试(透视)2025新版教程(2023已更新)(哔哩哔...