我正在编写一个套接字程序,它由一堆从属进程组成,这些从属进程将位于计算机集群中的每台机器上,而主进程指示它们将本地文件移动到远程节点上的远程从属进程。这些从进程的主要任务是从本地硬盘读取文件并将它们传输到其他机器上的其他从进程。我希望将监听文件数据和发送内置于单个进程中的文件数据的功能结合起来。
是否可以在同一个进程中同时拥有发送位和接收位?
//I want this to send a connect() request to every other slave node
initialize_Connections();
//Have an accept() call for accepting the connection requests from the other nodes
accept_Connections();
是否有可能完成这样的事情?我查看了 initialize_Connections() 和 accept_Connections() 调用之间的 fork 过程(即子进程调用 initialize_Connections() 并且父进程负责 accept_Connections( )) 但由于某些神秘的(对我来说)原因,这并没有奏效。
在这种情况下可以使用非阻塞的 connect() 和 accept() 吗?
最佳答案
使用线程不是强制性的,您只需要设置一个监听套接字,为每个传入连接触发一个套接字,并为与其他客户端的连接设置一组套接字,并在每个套接字上为事件池/选择...
关于c - 套接字编程 - 具有客户端和服务器代码的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23154075/