通过多终端进行多用户应用

时间:2013-05-17 19:00:35

标签: c multithreading pthreads

夜人,

我认为这是一个简单的问题,但无法弄清楚如何解决它:

我想创建一个多线程多用户应用程序,它将通过多个终端在同一台计算机上启动,例如游戏。

应该通过终端执行应用程序,如

./foo

在3之后,例如,终端已经打电话给这个游戏应该开始:

1号航站楼:

./foo
Waiting for other users...

2号航站楼:

./foo
Waiting for other users...

3号航站楼:

./foo
Starting...

每次我从终端调用./foo创建另一个进程时,我都没有看到这样做的机制。如何让它“计算”它被调用多少次而不是创建另一个进程?如果有另一种方法(可能有),哪一种?

2 个答案:

答案 0 :(得分:1)

没有,每次再次启动它都会创建一个新进程,但是你可以让程序创建一个unix套接字,然后所有接下来的套接字将连接到同一个套接字并相互通信某种方式由你定义。

答案 1 :(得分:0)

以下是InterProcessCommunication的指南:http://beej.us/guide/bgipc/

有多种方法可以做到这一点:

  • 消息队列
  • 共享内存
  • 套接字

有关每种技术的示例,请参阅指南。