问题标签 [chatroom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
18487 浏览

php - 如何用 PHP 制作聊天室脚本?

几个访问者连接到http://site.com/chat.php

他们每个人都可以编写文本消息并将其发送到 chat.php,它会立即显示在每个人的浏览器上(http://site.com/chat.php

我必须使用数据库吗?我的意思是,AJAX 或 PHP 缓冲区功能是否足以满足此类会话聊天室的需求?

不同用户的会话如何相互共享数据?

任何想法或见解将不胜感激,谢谢!

编辑:感谢您的链接。但我想要的是将数据推送到客户端浏览器的方式。不断刷新客户端浏览器(AJAX 与否)是唯一的方法吗?此外,这里的挑战是不同的用户(例如 2、1 对 1)如何共享聊天文本?你如何储存它们?以及如何在 2 个客户端之间同步文本?最好不要使用数据库。

编辑 2:实际上Peter D 提到的YShout做得很好。它似乎并没有不断刷新浏览器。但我不明白它如何将新消息推送到现有用户的窗口。

0 投票
4 回答
413 浏览

database-design - 为每个用户提供独特的颜色

在我的网络应用程序中,我有一个聊天室。我希望每个用户的名字都有不同的颜色,而不是全黑。实现这一目标的最佳方法是什么?我是否应该在每个用户注册我的应用程序时存储他们的 RGB/HEX 代码并将该字符串作为字段作为他们在数据库中记录的一部分?

0 投票
2 回答
724 浏览

asp.net - ASP.NET:目前最好的聊天室组件是什么?

有哪些最好/最流行的 ASP.NET AJAX 聊天室组件,它们在健壮性、灵活性和可移植性方面的权重如何?

0 投票
3 回答
243 浏览

javascript - /PM 用于在聊天室中发送消息的正则表达式语法

我正在开发 AJAX/PHP 聊天室,目前卡在正则表达式上,以检测用户是否发送了 PM,然后找出它是谁以及消息是什么。

如果用户输入类似

/pm PezCuckow 嗨,你真棒!

我想先测试我的字符串是否与该模式匹配,然后得到“PezCuckow”和“嗨,你真棒!” 作为字符串发布到 PHP。

我已经对正则表达式进行了一些研究,但真的不知道从哪里开始!你能帮我吗?

==感谢大家的帮助,现在解决了!==

0 投票
1 回答
748 浏览

silverlight - Silverlight 聊天 WrapPanel 崩溃/错误

我的任务是为两个人创建一个简单的 Silverlight 聊天框。我的控制必须遵守以下要求

  1. 可滚动
  2. 如果文本太长,则必须换行
  3. 添加新项目/消息时,必须将该项目滚动到视图中

现在我已经成功地制作了一个用户控件来满足这些要求,但是我遇到了一个可能的错误/崩溃,我一生都无法修复。我正在寻找解决该错误的方法,或者寻找一种不同的方法来创建可滚动的聊天控件。

这是我一直在使用的代码。我们将从聊天窗口的 XAML 开始

这个想法是向列表框添加一个新项目。项目(如 XAML 中所示)是一个简单的 2 列网格。一栏是用户名,一栏是消息。

现在,我添加到 ListBox 的“项目”是一个自定义类。它具有我在 XAML 中使用绑定的三个属性(Player、ForeColor 和 Message)

Player是要显示的当前用户的字符串。

ForeColor只是一种前景色偏好。它有助于区分消息之间的差异。

MessageWrapPanel我以编程方式在每个单词的空白处打断提供的字符串。然后对于每个单词,我将一个新的TextBlock元素添加到WrapPanel

这是自定义类。

最后,我将我的项目添加到 ListBox。这是简单的方法。它将上面的 ChatMessage 类作为参数

现在我已经对此进行了测试,并且一切正常。我遇到的问题是当我使用滚动条时。您可以使用侧滚动条或箭头键向下滚动,但向上滚动时 Silverlight 会崩溃。FireBug 返回带有XamlParseException的ManagedRuntimeError #4004

我非常接近进行这种控制工作,我可以品尝到它!对我应该做什么或改变有什么想法吗?有没有比我采用的方法更好的方法?

提前致谢。

更新

我找到了使用 ScrollViewer 和 ItemsControl 而不是 ListBox 控件的替代解决方案。在大多数情况下,它是稳定的。

0 投票
1 回答
94 浏览

asp.net - 我可以摆脱这个还是它太粗糙和不切实际?

我昨晚整晚都在寻找一个免费的 AspNet 网络聊天控件,我可以简单地将它拖到我的网站中。好吧,搜索是徒劳的,因为我找不到符合我需求的控件,即用户列表、1 对 1 聊天、踢出用户的能力..

最后,我决定从头开始创建自己的控件。虽然它在我的机器上运行良好,但我担心它在共享托管环境中可能有点粗糙和不切实际。

基本上这就是我所做的:

  1. 创建了一个存储聊天消息的 sql 数据库。
  2. 编写了存储过程,并包含了一条清除旧消息的语句

然后是“粗略”部分:

  1. 在我的页面上拖动更新面板和计时器控件
  2. 将Repeater数据绑定到更新面板内的聊天消息表
  3. 拖动另一个更新面板并在其中放置一个文本框和一个按钮
  4. 将计时器控件配置为每 5 秒滴答一次。

..然后我让它像这样工作在计时器滴答事件中,我通过在我的转发器上调用 Databind() 来“刷新”消息显示,即

然后在我的发送按钮点击事件中

好吧,它在我的机器上运行良好,并且我通过简单地创建更多表来获得其他功能(用户列表,踢出用户..)。

但就像我说的那样,这对我来说似乎有点粗糙。所以我需要一个专业的意见。我应该用这个运行还是尝试另一种方法?

0 投票
2 回答
364 浏览

python - python中的可扩展聊天站点

嘿,伙计们,我有一个想法,我想在关键点开始实施它,基本上是一个聊天网站,并且需要支持多个房间。坦率地说,我不太确定从哪里开始在 python 中建立一个非常坚固/可扩展的聊天系统(或者如果你们认为它是更好的替代语言,那么任何可以让我指出的建议在正确的方向将不胜感激。

0 投票
1 回答
643 浏览

drupal - 如何将聊天工具添加到我的 Drupal 6 站点?

我只是想问一下如何支持 Drupal 6 的聊天功能?我创建了一个新的 Drupal 网站,我需要向它添加聊天功能。但是,我尝试下载并启用 Drupal 的聊天室模块,但我似乎无法让它运行(或者我不知道如何访问它)。因此,如果可能的话,有人可以向我展示如何做到这一点的教程吗?

我想放在我的网站上的示例聊天应用程序就是这个

0 投票
5 回答
1118 浏览

php - 如何使 javascript/php 聊天室在加载时间和 sql 通信方面更高效

现在我的 javascript 聊天设置可以正常工作,就像

在函数中,我将使用 JQuery 进行获取帖子以从 php 脚本中检索消息,这将 1. 启动 SQL 连接 2. 通过 SQL 验证它是合法用户 3. 自上次用户访问后仅检索新消息 4 . 关闭 SQL

这很好用,聊天也很完美。我担心这是打开和关闭大量 SQL 连接。它非常快,但我现在想制作一个小型 javascript 多人游戏,并每秒 3 次传输用户坐标以及其他数十个变量,其中我每次打开和关闭 sql 连接并提取信息每次从众多表中提取的效率可能不足以顺利运行,并且可能对服务器造成太大压力。

有没有更好更有效的方式来传达我应该知道的所有这些变量,这些变量在我的服务器/数据库上并不难?

0 投票
4 回答
473 浏览

php - 聊天室实现

你能给我一个关于如何使用 PHP 和 MySQL 实现聊天室的想法吗?