C程序可以同时作为服务器和客户端吗?

时间:2020-07-07 16:07:02

标签: c sockets

我正在学习C,并且刚刚开始阅读有关套接字的信息。

我想知道一个程序是否可以同时编码为服务器和客户端。例如,一个程序作为服务器启动,但是如果要连接到另一台服务器,它可以并行启动一个客户端以连接到其他程序的服务器,同时保持其服务器状态以供其他人连接。

如果是,该怎么办?用不同的过程吗?

谢谢你们!

2 个答案:

答案 0 :(得分:0)

是的,可以。

绝对没有阻止它的东西。

如果要通过同一过程管理多个套接字,可能会发现poll函数很有用,或者在Windows上可能是select。 (select也可以在Linux上使用,但我认为poll更好)

答案 1 :(得分:0)

这是“线程”的用例之一,其中有多个执行实例共同执行不同的作业。 https://simple.m.wikipedia.org/wiki/Thread_(computer_science)