我正在尝试构建服务器,在此服务器中首先我必须接收UDP然后继续等待更多UDP消息,当我收到第一条UDP消息时,我需要创建TCP连接并等待客户端。 / p>
如果我等待UDP消息并且我从TCP开始,我的服务器工作正常,但我想使用fork,并且父亲等待更多的UDP消息,并且孩子从TCP部分开始,但是如果我这样做,我有一个绑定问题,因为它已经被UDP部分使用...所以..有一个解决方案吗?
有可能做我想做的事吗?
我希望你理解它。
非常感谢。
答案 0 :(得分:1)
在同一端口上打开UDP和TCP套接字就可以了。例如,DNS适用于UDP 53和TCP 53端口。您应该在fork之前打开套接字,然后在子级中关闭它不需要使用的内容。
答案 1 :(得分:0)
UDP和TCP端口位于不同的空间。因此,您可以将一个套接字绑定到UDP / 8888,另一个套接字绑定到TCP / 8888没有问题。如果您的子进程正在尝试绑定到同一TCP端口,那么您可能会遇到问题。