gpt4 book ai didi

sockets - 简单的聊天应用程序(我应该使用套接字吗?苹果应用程序商店会批准吗?)

转载 作者:行者123 更新时间:2023-12-02 05:47:20 25 4
gpt4 key购买 nike

我有一个涉及“聊天功能”的应用程序构想,从本质上讲,人们可以彼此聊天。由于通过服务器发送消息会很慢(如果有新消息,则必须每秒检查一次服务器会非常糟糕),我想使用套接字来具有点对点聊天功能,而不是通过服务器。

我的2个问题:

1)套接字编程是开发聊天程序的最佳方法吗?我知道有推送通知服务,但是我认为它不能很好地用于聊天程序。如果您想象有5,000人每秒聊天并且不得不每秒轮询一次服务器,那么浏览服务器似乎是一种不好的选择。

2)苹果在批准具有使用套接字的对等聊天程序的应用程序时会遇到问题吗?

谢谢你。

最佳答案

套接字确实是合适的。但是,使用客户端/服务器方法而不是P2P方法会更好。

我从事一项非常知名的即时消息服务已经有很多年了,我可以绝对告诉您,通过服务器并不慢-只要您的服务器不慢即可。

客户/服务器有很多优点。也就是说,它不像任何类型的P2P连接那样困难,因为诸如NAT和防火墙之类的问题使直接套接字连接变得困难且不可靠。此外,您仍然需要一个消息传递服务,以便客户端交换IP地址。

您所说的客户机或服务器必须“轮询”的假设不是可伸缩系统的工作方式。您应该使用一个持久的TCP套接字,并考虑通过当今存在的任何可用异步方法来扩展套接字服务。 Linux上的select(),poll(),epoll和Windows上的IO完成端口都是使数千个套接字同时连接而无需定期轮询的技术。

我的建议-只需部署XMPP/Jabber服务器。大多数实现都能很好地扩展到成千上万的客户。然后,您的聊天程序只是XMPP客户端套接字。在用户唯一访问是通过http或http代理服务器的情况下,某些Jabber服务器甚至支持HTTP连接。不久前,我与Openfire一起玩耍,对它印象深刻。

我相当确定iOS具有套接字,并且Apple允许使用。我只通过二手手来了解从事iOS产品工作的人们。您可能不应该将推送通知服务用于通知以外的其他用途,以唤醒您的应用程序它需要做的事情。

希望这可以帮助。

关于sockets - 简单的聊天应用程序(我应该使用套接字吗?苹果应用程序商店会批准吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11352673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com