Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
Php 实现人与人之间的随机聊天_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php 实现人与人之间的随机聊天

Php 实现人与人之间的随机聊天,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我的想法是建立一个网站,人们可以在那里注册和搜索一个可以交谈的人。他们可以选择来自特定国家、类型、特定年龄等的人 是的,我知道有很多这样的网站,但我想实现这一点,因为它看起来非常具有挑战性 您能告诉我如何使用PHP+MYSQL+Jquery(Ajax)实现这一点吗?我对这些东西既不是初学者也不是高级 那么,这应该如何运作呢?一个人点击搜索按钮,这个人被放入他搜索某人谈话的数据库,那个么接下来呢?我也希望能够允许人们在同一时刻与几个人交谈 我不是要代码什么的,只是想知道如何编码,不需要代码 谢谢。

我的想法是建立一个网站,人们可以在那里注册和搜索一个可以交谈的人。他们可以选择来自特定国家、类型、特定年龄等的人

是的,我知道有很多这样的网站,但我想实现这一点,因为它看起来非常具有挑战性

您能告诉我如何使用PHP+MYSQL+Jquery(Ajax)实现这一点吗?我对这些东西既不是初学者也不是高级

那么,这应该如何运作呢?一个人点击搜索按钮,这个人被放入他搜索某人谈话的数据库,那个么接下来呢?我也希望能够允许人们在同一时刻与几个人交谈

我不是要代码什么的,只是想知道如何编码,不需要代码


谢谢。

为每个组织单位(国家、类型、年龄等)制作一个桶

当用户连接时,为他们所属的每个bucket提供一个增量较大的索引


当用户想要从一个bucket连接某人时,只需生成一个介于0和该bucket的最大索引值之间的新随机数…并连接他们

我不认为像PHP这样的同步、阻塞编程语言是适合这种应用程序的平台。选择一种异步、非阻塞的语言(如JavaScript)要明智得多。这有很大的优势,您可以使用它来改善应用程序中的聊天体验


因此,我建议使用。您可能希望查看节点。

不确定Flash是否适合您,但Adobe P2P服务Cirrus绝对可以作为您的良好后端:

您可以使用(用于浏览器)和XMPP或IRC作为底层系统。这两个都提供了强大的聊天基础设施,可以让您实现所需的任何功能,例如群组聊天。

我相信使用PHP+MySQL是可以的。我建议你使用推送服务来改善聊天环境。使用push,您的客户端不必请求服务器获取新数据,它可以使聊天实时进行。一些推送服务包括:、和。
他们拥有强大的支持、文档和库。祝你好运。

我不认为复杂的框架是此类应用程序的好解决方案。 我建议您坚持使用客户端的基本javascript/jquery。。以及服务器端的php。。 您可能遇到的唯一问题是,您需要一个非常健壮的数据库解决方案,假设您的目标至少是一些流量,并且仅当您需要存储消息的存档时,在本例中,我建议使用Oracle(Oracle以能够很好地处理大型数据库而闻名,但它不是免费的)。 如果不是,MySQL(免费)将在高流量和相对较小的数据库上发挥巨大作用

基本上,应用程序所依赖的概念很简单。。您可以创建一个包含用户的表,另一个包含消息、首选项。。。等 关于客户端。。。只需每3-5秒刷新一次页面,或者让用户指定速率,并使用新消息/用户/请求更新网页。。等等,如果有的话。 一旦用户离开,您可以从数据库中删除与他的活动相关的所有内容,这将节省一些空间

希望你能听懂我的英语, 致以最良好的祝愿

您能告诉我如何使用PHP+MYSQL+Jquery(Ajax)实现这一点吗?我对这些东西既不是初学者也不是高级

如果你是你所说的那样,那么我相信你不知道你打算使用的任何技术。所以,在这种情况下,我建议你先阅读一些简单的例子,然后继续往下看。比如说,

  • 从PHP操作文章开始-学习语法
  • 创建一个简单的网页-创建您的第一个网站
  • mySql操作文章-学习查询/语法
  • 添加数据库(可能是mySql),实现简单的CRUD操作
  • 阅读聊天应用程序-工作/内部,您可以遵循的不同架构
  • 准备一个基于客户端/服务器的小型应用程序-使用不同的协议
…当你开始对代码感到满意时,就是当你开始在代码中思考时,继续你的完整聊天应用程序

你可能最终扭曲了你原来的想法,但别担心,这是过程的一部分。当我们更清楚地了解我们到底想要什么时,事情就会发生变化

即使您计划使用现有的开放库/控件,也必须知道如何使用它们;你应该掌握足够的技能,让你知道钉子是要锤的,而不是别的


另外,我看到这个端到端的阶段大约需要2到3个月,如果认真完成的话。

什么时候PHP是“阻塞”语言,“javascript”是非阻塞语言了?或者你是在暗示,因为PHP是服务器端的,Javascript是客户端的?编辑:我知道了,你在为NodeJSI做广告,他迟到了+1对于Node.js,它只会使聊天运行顺畅,并且资源不足,您可以在单个vps上轻松处理1000个并发用户,此外,还有一些模块将处理Twitter OAuth等。因此,如果您不想使用数据库,您甚至不必使用数据库,您可以使用Socket.ioThanks之类的工具代理对话,了解我的新网站的想法!我必须说,javascript会扼杀你的带宽。但是,你需要考虑很多事情。下面是我的答案。“Drddin:嗯,我真的不想让你失望,但是已经有很多这样的网站了。”不管怎样,祝你好运!现在我得偷别人的主意了!:)祝你好运