gpt4 book ai didi

c - UDP 多客户端服务器基础

转载 作者:可可西里 更新时间:2023-11-01 11:43:39 24 4
gpt4 key购买 nike

我期待着实现这一目标:服务器从多个客户端接收到一个字符串(文件名),他必须从文件夹中获取该字符串,并通过从命令行定义的 bufferSize 将其返回给客户端。它必须通过 UDP 通信来实现。我熟悉 TCP 套接字,但我不知道如何获取 udp 连接的文件描述符,因为缺少接受。

所以我在考虑这个:在配置之后我在服务器中做了一个 while 循环,在那里我得到“某种描述符”,我将把它发送到一个新线程,这个线程知道将数据发送回哪里。 .. 有任何想法吗?

网上查了下,没有找到具体的解释。

最佳答案

您无法使用 UDP 建立连接;你用sendto()recvfrom()发送和接收消息。

因此服务器将在套接字上调用recvfrom();从接收到的数据中解包请求,执行适当的操作,然后使用 sendto() 将响应发送回接收请求的客户端。

客户端会调用sendto()将消息打包发送给服务器,然后调用recvfrom()获取响应。请注意,UDP 是一种不可靠的协议(protocol);无法保证每条消息都会送达。客户端必须实现超时以防服务器丢弃 UDP 请求。服务器也必须能够处理重复的请求。

关于c - UDP 多客户端服务器基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15731924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com