要求是编写一个作为聊天室的C/C++程序。
客户端和服务器端程序都不需要GUI,只使用命令行。它们只需要在同一台机器上运行,通过管道连接。
2 .在Daemon进程中使用FIFO队列,用户可以同时使用Daemon进程进行聊天。
3,守护进程刷新在线用户数,并将登录/输出消息打印到客户端。
4 .客户端在启动时需要昵称,当昵称冲突时,服务器拒绝。
。
它应该适应进程,守护进程,管道,信号,I/O,线程,使这个程序尽可能多。
现在我对Linux中的进程并不熟悉。你能给我一个聊天室操作过程的例子,或者一个简单的框架,让我可以编写函数而不用担心过程。
任何关于编写这个程序的建议都是欢迎的!
发布于 2011-06-25 15:37:39
听起来你被要求同时设计和编写这个程序。
您的问题听起来更像是您需要一个客户端-服务器架构(这是有意义的),并通过管道进行通信(您也可以对套接字做同样的事情,所以您可能希望使这一层在以后易于交换)。
因此,您需要一个在启动后在后台运行的程序(一个守护进程),该程序运行在管道上监听聊天消息的服务,并监视/var/run/utmp以查看谁登录到了机器上。
可以将守护进程编写为单线程进程,并使用select调用来监视客户机和utmp文件,但是由于您有线程需求,因此可以将这两个函数都设置为线程,这会使您的程序更加复杂且更难调试,但我有什么可争论的呢?
您需要另一个程序,用户可以运行该程序通过管道连接到该守护进程,并且您可以在该守护进程中键入消息或打印消息。同样,这也可以通过单线程完成,但您可能希望将传输和接收拆分为线程。
发布于 2011-06-24 14:42:18
直接使用talk怎么样?
https://stackoverflow.com/questions/6464113
复制相似问题