C 客户端如何知道服务器何时发送消息?

C 客户端如何知道服务器何时发送消息?,c,multithreading,sockets,client-server,C,Multithreading,Sockets,Client Server,我会尽可能地把它表达出来。我需要创建一个在线聊天,但不是群组聊天,而是一个私人聊天。我的意思是我需要一个服务器,许多客户端可以连接,每个客户端都可以向另一个客户端发送消息(如果他知道自己的IP或用户名)。如果接收者离线,他将在连接到发球(简单部分)时收到消息。如果他在线,他可以做两项工作: 1.向另一个客户端发送消息 2.从另一个客户端接收消息 我的问题是如何中断发送过程并告诉客户端他有一条新的未读消息 我期待使用SIGIO信号,但我真的不熟悉。我的方式对吗 PS:服务器在嵌入式系统中运行。当客

我会尽可能地把它表达出来。我需要创建一个在线聊天,但不是群组聊天,而是一个私人聊天。我的意思是我需要一个服务器,许多客户端可以连接,每个客户端都可以向另一个客户端发送消息(如果他知道自己的IP或用户名)。如果接收者离线,他将在连接到发球(简单部分)时收到消息。如果他在线,他可以做两项工作:

1.向另一个客户端发送消息 2.从另一个客户端接收消息

我的问题是如何中断发送过程并告诉客户端他有一条新的未读消息

我期待使用SIGIO信号,但我真的不熟悉。我的方式对吗


PS:服务器在嵌入式系统中运行。

当客户端“写入”服务器时,服务器具有“响应”的能力,对吗?因此,当您连接时,服务器知道您“在”的唯一方法是发送消息。然后服务器会回复说“嘿,兄弟!顺便说一句,你有邮件!”是的,这是一个很酷且简单的解决方法。我的思维被卡住了。非常感谢!!!!如果有人知道一种更专业的方法,我很想听听。作为说明,这将更容易用C语言以外的语言实现,C语言对Unicode字符之类的东西一无所知,并且具有非常原始的字符串处理能力。C++会是一个巨大的进步。通常客户使用诸如“代码>选择”/>代码或等价的(例如ePult/KQue2)来在其套接字上进行数据的收听。如果你需要一些东西来帮助包装,你真的想提交给C,考虑使用作为基础。