首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于使用管道和守护进程在Linux中编写聊天室C程序有什么建议吗?

关于使用管道和守护进程在Linux中编写聊天室C程序有什么建议吗?
EN

Stack Overflow用户
提问于 2011-06-24 14:11:46
回答 2查看 1.2K关注 0票数 0

要求是编写一个作为聊天室的C/C++程序。

客户端和服务器端程序都不需要GUI,只使用命令行。它们只需要在同一台机器上运行,通过管道连接。

2 .在Daemon进程中使用FIFO队列,用户可以同时使用Daemon进程进行聊天。

3,守护进程刷新在线用户数,并将登录/输出消息打印到客户端。

4 .客户端在启动时需要昵称,当昵称冲突时,服务器拒绝。

它应该适应进程,守护进程,管道,信号,I/O,线程,使这个程序尽可能多。

现在我对Linux中的进程并不熟悉。你能给我一个聊天室操作过程的例子,或者一个简单的框架,让我可以编写函数而不用担心过程。

任何关于编写这个程序的建议都是欢迎的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-25 15:37:39

听起来你被要求同时设计和编写这个程序。

您的问题听起来更像是您需要一个客户端-服务器架构(这是有意义的),并通过管道进行通信(您也可以对套接字做同样的事情,所以您可能希望使这一层在以后易于交换)。

因此,您需要一个在启动后在后台运行的程序(一个守护进程),该程序运行在管道上监听聊天消息的服务,并监视/var/run/utmp以查看谁登录到了机器上。

可以将守护进程编写为单线程进程,并使用select调用来监视客户机和utmp文件,但是由于您有线程需求,因此可以将这两个函数都设置为线程,这会使您的程序更加复杂且更难调试,但我有什么可争论的呢?

您需要另一个程序,用户可以运行该程序通过管道连接到该守护进程,并且您可以在该守护进程中键入消息或打印消息。同样,这也可以通过单线程完成,但您可能希望将传输和接收拆分为线程。

票数 1
EN

Stack Overflow用户

发布于 2011-06-24 14:42:18

直接使用talk怎么样?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6464113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档