Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 你收到的信息只有那些对你而言的。至于一个宽泛的问题,因为你能理解它的要点是最后一句话,其余的只是解释情况。所以基本上你是说我应该有另一个表来存储用户可能创建的由id标识的所有不同组,对吗?但是,当一个客户在检查新消息时,它需要知道它的名字在哪个组中,所以我_C++_Database_Qt_Chat - Fatal编程技术网

C++ 你收到的信息只有那些对你而言的。至于一个宽泛的问题,因为你能理解它的要点是最后一句话,其余的只是解释情况。所以基本上你是说我应该有另一个表来存储用户可能创建的由id标识的所有不同组,对吗?但是,当一个客户在检查新消息时,它需要知道它的名字在哪个组中,所以我

C++ 你收到的信息只有那些对你而言的。至于一个宽泛的问题,因为你能理解它的要点是最后一句话,其余的只是解释情况。所以基本上你是说我应该有另一个表来存储用户可能创建的由id标识的所有不同组,对吗?但是,当一个客户在检查新消息时,它需要知道它的名字在哪个组中,所以我,c++,database,qt,chat,C++,Database,Qt,Chat,你收到的信息只有那些对你而言的。至于一个宽泛的问题,因为你能理解它的要点是最后一句话,其余的只是解释情况。所以基本上你是说我应该有另一个表来存储用户可能创建的由id标识的所有不同组,对吗?但是,当一个客户在检查新消息时,它需要知道它的名字在哪个组中,所以我担心在字段中的某个地方保存一个名字列表是没有帮助的。我对数据库不太在行,但如果我说WHERE to=somename,somename是一个名称列表,那就行不通了。@dearn44第一个问题-是的。我不知道我现在是否明白你的意思。。为他检查新消


你收到的信息只有那些对你而言的。至于一个宽泛的问题,因为你能理解它的要点是最后一句话,其余的只是解释情况。所以基本上你是说我应该有另一个表来存储用户可能创建的由id标识的所有不同组,对吗?但是,当一个客户在检查新消息时,它需要知道它的名字在哪个组中,所以我担心在字段中的某个地方保存一个名字列表是没有帮助的。我对数据库不太在行,但如果我说WHERE to=somename,somename是一个名称列表,那就行不通了。@dearn44第一个问题-是的。我不知道我现在是否明白你的意思。。为他检查新消息的用户将只检查表消息,因为他已经收到来自任何组的消息。。也许您在问用户如何知道消息来自哪个组?只有一个表,我检查消息的方式类似于从聊天室选择*,其中(toU=:username或toU='ALL')和(isRead=false)在我的回答中,我建议你在网上再创建两个表和组。聊天表(我称之为消息)的结构将保持不变,你不需要“全部”黑客,我将用例子来更新。是的,我知道,但可能我没有完全理解groups表是如何工作的。这看起来确实是一个很好的方法,而且与我最初尝试的方法并不太遥远+1对于让客户处理团体建议。唯一让我有点担心的是所有这些从各个表读取和写入的操作。不是因为特殊的原因,我不知道它会不会慢。但我想没有什么是免费的。@dearn44总是有费用的。我认为这是一个不错的起点,至少可以让您的应用程序正常运行。一旦你做到了这一点,你就可以继续尝试进一步优化。我认为,如果您保持简单,并通过简单的唯一id将这些数据索引到单独的表中,您将获得人们所希望的最佳性能。另一方面,如果您只是为脱机邮件执行此设置,您可以让服务器简单地充当连接协商者,让客户端通过直接相互读写来绕过服务器中的这些操作。然后,如果客户机无法直接传递消息,它将发送数据以供服务器稍后存储和查找。不要害怕委托给客户。试图将所有内容都推送到服务器的工作负载上完全是在浪费用户提供的计算能力。:)我没有抱怨。)我已经开始实施这项计划,因为正如你所说,这是一个不错的起点。我将使用行号作为唯一的id,我想uuid是一个过分的做法。@dearn44我所能做的就是指向boost::asio,它必须是我所知道的最简单、最可移植的跨平台socket IO库。还有一个bajillion代码示例。
Users Table    
unique_user_id, user_specific_info1, user_specific_info2, so on..

Messages Table
message, target_user_id, sender_id, message_status
Messages Status Table
message_id, target_user_id, sender_id, message_status