c - 在服务器代码中收到来自 8080 的请求后,为客户端分配一个新的套接字

标签 c linux sockets client-server tcp

C 语言 TCP 服务器/客户端..我想为从 8080 请求我的服务器的特定客户端分配一个新套接字,假设新套接字是 8081 以获取进一步的请求,并希望释放以前的套接字(8080)这样其他客户端就会从8080请求我的服务器。有没有办法用C语言做到这一点。 (操作系统 Ubuntu)谢谢

最佳答案

您的问题陈述不正确。即使你愿意,你也做不到。 TCP 套接字的工作方式是,accept() 在您正在监听的同一端口上为传入的客户端连接提供一个新套接字。这就是您所需要的,也是您可以获得的。如果不与客户端进行另一次 TCP 握手,您就无法在新端口上为客户端“分配新套接字”,当您已经与客户端建立连接时,这完全是浪费时间。这并不排除在该连接打开时接受另一个连接。您需要阅读 TCP 套接字网络教程。

关于c - 在服务器代码中收到来自 8080 的请求后,为客户端分配一个新的套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18686690/

相关文章:

c - 为什么 C 在使用条件运算符时不允许连接字符串?

c - 是否有一种算法可以打印数组子序列的所有排列?

linux - 在嵌入式产品中成功(uboot、内核、文件系统)升级后 u-boot 挂起

创建与 IPv4 和 IPv6 兼容的套接字

c++ - 套接字未从客户端接收

c - c中fgets的使用

C - 链表不兼容的指针类型

MySQL 5.6 : Access denied for user 'root' @ 'localhost' when password contains backslash

linux - 如何更改 perf sched 记录中的输入文件名

sockets - 从 Socket Golang 读取数据