【发布时间】:2010-05-22 13:23:43
【问题描述】:
对于大学,我正在开发一个本地中继聊天。我必须编写一个聊天服务器和客户端,它们只能在同一台计算机上的不同终端窗口上使用线程和 FIFO 发送消息。
FIFO 部分我没有问题,线程部分是让我有些头疼的部分。
服务器有一个线程用于接收来自 FIFO(由所有客户端使用)的命令,另一个线程用于连接的每个客户端。
对于每个连接的客户端,我需要知道某些信息。首先,我使用全局变量,只要只有一个客户端连接就可以工作,这很像聊天,可以单独聊天。
所以,理想情况下,我会有一些数据,例如:
-昵称
-名称
-电子邮件
-等等...
每个连接的客户端。但是,我不知道该怎么做。
我可以创建一个 client_data[MAX_NUMBER_OF_THREADS] 其中 client_data 是一个结构,其中包含我需要访问的所有内容,但这需要在服务器和客户端之间的每次通信中询问数组 client_data 中的客户端 ID这似乎不太实用
我也可以在创建线程后立即实例化 client_data,但它只能在该块中可用,这也不是很实用。
如您所见,我需要一些指导。非常感谢任何评论、代码或任何相关信息的链接。
【问题讨论】:
标签: c multithreading client-server