进程可以在两种不同类型的套接字上进行通信

时间:2019-07-16 08:03:04

标签: c linux sockets

进程可以充当服务器并侦听两种不同类型的套接字(TCP unix套接字和TCP AF_INET套接字),也可以充当客户端并打开两种不同类型的套接字(TCP unix套接字和TCP AF_INET套接字) )并使用相应类型的套接字连接到服务器。

我有两个进程,一个作为服务器,一个作为客户端,在同一台计算机上运行。套接字是Unix流套接字类型。现在,我希望我的服务器和客户端进程打开一对新的TCP AF_INET套接字,并通过一对新的套接字进行通信,同时保持先前的(Unix套接字)上的通信完整。

为此,我将在服务器上为TCP AF_INET服务器套接字启动一个新线程。在客户端,我还将为TCP AF_INET客户端套接字启动一个新线程。是否有可能拥有这样的系统。我将在linux操作系统上为此编写一个c代码。

1 个答案:

答案 0 :(得分:0)

是的

服务器可能(应该)使用选择功能来监视一组套接字;插座可以是不同类型的。然后服务器阻塞select()调用,唤醒东部一个套接字上可用的任何可读数据。

客户端进程可以使用多个线程,每个线程都有自己的套接字与服务器通信。客户端也可以使用同一执行上下文(线程)中的所有套接字,但这取决于客户端应执行的任务的性质。换句话说,这需要软件设计和体系结构。