问题标签 [instant-messaging]

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 投票
4 回答
541 浏览

iphone - 后退按钮返回到不同的 UITableViewController 从它来自的地方

假设我有 UITableViewController A 和 UITableViewController B。A 和 B 都加载 UIView C。在 C 中的后退按钮上,我如何确保它总是回到 B,而不是它来自哪里?

这是一个具体的例子:A=iphone skype 中的联系人窗口。B=聊天窗口,每一行都是与不同人的聊天记录 C = 聊天窗口显示与同一个人的对话。

C 可以从 A 或 B 加载,但我希望聊天窗口 ( C ) 上的后退按钮仅返回到聊天 (B) 窗口。

干杯。

0 投票
7 回答
2290 浏览

instant-messaging - 如何构建一个简单的 2 人游戏,通过 Internet 进行通信,并且在任何服务器上都没有自定义代码?

如何构建一个简单的 2 人游戏,通过 Internet 进行通信?

我需要解决以下问题:

  • 查找或会合 - 两个玩家想要找到对方。

  • 持续的沟通。任一玩家都可以在相当快的时间范围内(IM 类型的延迟,而不是电子邮件类型的延迟)发起需要将信息传递到另一方的操作。

在这方面,我想它相当于一个双向聊天,人们希望能够找到对方,然后,一旦配对,就可以相互交流。

进一步要求:

  1. 现在,假设端点是相对较新的 Windows 操作系统。

  2. 假设两个端点机器都不能直接从 Internet 访问。假设它们是客户端机器,隐藏在阻止传入请求的防火墙后面。机器可以发出出站请求。(比如说,通过 HTTP,但 TCP 也可以)

  3. 交流应该是私密的。为简单起见,假设已经存在共享密钥,并且端点能够执行 AES。我想我的意思是,任何中介都不应该需要解密消息包。解密只会在端点发生。

  4. 所有自定义代码应仅在客户端 PC 上运行。

  5. 假设互联网上没有我控制的服务器。

  6. 我很乐意使用第三方服务器来促进互通,比如 IM 服务器什么的,只要它是免费的,我不需要在上面安装自定义代码。


有哪些 API 可用于促进这种设计?

我可以使用 IM API 执行此操作吗?WCF?是否有适用于 Windows Messenger 的 WCF 频道?

什么协议?HTTP?我将此标记为“点对点”,但实际上我的意思是;对正式的 p2p 协议没有硬性要求。

你会使用什么消息格式?


编辑

为了澄清有关服务器的要求,我想要的是没有服务器在我的控制之下。并且在任何服务器上都没有我的自定义代码。这与“无服务器”不同。

可以这样想:我可以使用我在发送和接收端编写的自定义代码通过 SMTP 发送电子邮件。我的自定义代码可以通过免费的 SMTP 服务器中介进行连接。这不需要在 SMTP 服务器上安装代码。这就像我想要的,但由于延迟,SMTP 是不可接受的。

EDIT2
我还发现了这个: 即时消息库,如 libpurple,但用 C# 编写


回答

我可以做我想做的事,使用 IM 框架的库。使用 Windows Live Messenger 的一种简单方法是使用Messenger Activity SDK。这证明了这个概念,但并不是真正的通用解决方案。但是,类似的事情可以使用各种信使系统的 IM 库来完成,例如 libpurple,或者使用 IRC 频道的库。在所有这些情况下,IM 服务器都充当穿透防火墙的通信基础设施。

0 投票
1 回答
1045 浏览

c++ - 如何用 C++ 制作 Yahoo 10 IM 自动回复程序?

如何用 C++ 制作雅虎自动回复程序?

0 投票
4 回答
433 浏览

security - 防止对服务器的 MITM 攻击

两个客户端 Alice 和 Bob 使用服务器登录并通过服务器交换消息。登录时,他们都发送他们的公钥以存储在服务器上。当 Alice 想与 Bob 通话时,她用 Bob 的公钥加密一个对称密钥,并通过服务器将其发送给 Bob。

我如何确保服务器不会制作自己的公钥对并将其发送给 Alice 而不是 Bob 的公钥。这样,服务器将首先解密 Alice 发送的内容,然后使用 Bob 的真实公钥再次对其进行加密。

谢谢

0 投票
2 回答
3289 浏览

c# - C# 即时通讯

我正在使用 C# 开发一个即时消息程序(仅供学习)。
只是想知道我的方法是对还是错。
我创建了一个包含 NetworkStream 和读/写函数的客户端类。
服务器为每个客户端创建一个新线程,该线程监听任何新消息。

有更好的办法吗?

0 投票
3 回答
2183 浏览

c# - 任何开源即时通讯工具?

我需要开发一个基于.Net(C#)的即时通讯工具(如MSN Messagner,但只有简单和基本的功能就可以了)。我想将即时通讯程序与我当前的网站用户集成。我想知道任何开源(更好的 C#)即时通讯工具可以参考吗?

顺便说一句:一些用户正在使用内部 IP 地址(在网关或代理后面,如 10.10.xxx.xxx)——所以在这种情况下,如果两个用户都在网关后面,则不能使用点对点消息传输?而且我认为我必须开发一个充当中间方的服务器来在两个用户之间传输消息,对吗?

0 投票
2 回答
1205 浏览

perl - 为什么我必须在 Jabber 机器人注销之前向它发送多条消息?

我正在尝试制作自己的 Jabber 机器人,但遇到了一些麻烦。我已经让我的机器人响应消息,但是,如果我尝试更改机器人的存在,那么您发送给机器人的所有消息似乎都会延迟。

我的意思是,当我运行脚本时,我会更改存在,以便我可以看到它在线。然后,当我向它发送一条消息时,我为消息设置的回调子例程需要三个时间才能被调用。在发送第三条消息并调用聊天子例程后,它仍会处理我发送的第一条消息。

这实际上并没有造成太大的问题,只是我将它设置为在我发送消息“注销”时注销,并且必须在它之后再发送两条消息才能注销。我不确定我必须做些什么来解决这个问题,但我认为它与 iq 数据包有关,因为我也设置了 iq 回调,并且在设置存在后它会被调用两次。

这是我的源代码:

谢谢你的帮助!

0 投票
3 回答
2829 浏览

python - 是否可以在 python 中编写 IM 服务器?(能够处理繁重的连接)

我想用python写一个IM服务器,但我不确定python是否可以处理繁重的连接?

提前致谢。

0 投票
2 回答
96 浏览

social-networking - 您建议在网站上同时实施聊天和 IM 的解决方案是什么?

我应该拿起IRC还是走另一条路线?我需要的是社交网络上的公共聊天和私人即时消息。我不想使用第 3 方解决方案。(我打算为此租用VPS。)

0 投票
2 回答
444 浏览

chat - 在网站上为公共和私人聊天选择哪个更好:IRC 或 Jabber?

我正在寻找一种解决方案来在站点内实现公共聊天和即时消息传递系统。