客户端服务器应用程序如何实现?(服务器端)(询问概念)

用户名

我正在制作一个简单的在线tic tac toe游戏(多人游戏)。客户端是java(android)服务器端是python(共享主机服务器上的linux)

我的问题是关于服务器端的:我首先想到要有一个套接字(因为只允许使用服务器上的一个端口),然后它等待2个用户连接并将它们配对在一起,启动一个新线程来处理与他们,然后等待另外2个用户,依此类推。但是在这里大量阅读了有关多线程的信息后,我发现服务器最多可以处理20个线程。所以我尝试使用进程而不是线程,但是得到了相同的结果。此外,我发现该套接字最多可以处理50个连接。

有任何想法吗?谢谢

亚历克斯·马丁里(Alex Martelli)

要进行无限制扩展,如果您控制客户端代码(因此您知道人们没有作弊-他们一口气就不会:-),则可以让客户端打开并提供监听套接字为了连接-当一个奇怪的客户端连接时,只需以“请稍候”消息进行响应即可;当偶数客户端连接以匹配它时,使用彼此的侦听套接字信息响应两个客户端,并避开。

对于不能打开和监听新套接字的客户端(例如,被隔离在某些NAT安排后面的套接字),这将不起作用。在这种情况下,您可以将客户端(用于彼此之间的后续交互)切换到UDP与服务器之间的UDP连接-UDP(不面向连接)可以为任意数量的客户端(客户端对中的客户端对)提供服务情况下!)(但是,您有责任在客户端和服务器端协同工作!),用于检查/确认数据包并确保其顺序良好(面向连接的TCP代表您处理:-) 。

我不确定您最初的确切约束来自何处,或者其他什么约束(例如客户端无法打开,通信和收听新的套接字...)可能来自何处。

但是,无论哪种方式,一旦您完全理解并告诉我们 所有适用的约束,便总能找到一些解决方案(也许使用诸如pub-sub之类的新型术语,例如https://cloud.google.com/pubsub / docs-随着新限制的出现,甚至更快!,聪明的人总是在寻找解决方法...!-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从客户端桌面应用程序向服务器端Spring应用程序发送请求?

在服务器端运行客户端 websocket 应用程序?

是否可能:使用 Blazor 服务器端作为客户端应用程序

输入验证是针对企业应用程序的客户端还是服务器端?

.Net MAUI Blazor 应用程序 | 服务器端还是客户端?

如何在客户端更新 Blazor Server 应用程序的服务器端更改?

如何在next.js应用程序中从服务器端获取客户端的IP地址?

客户端/服务器应用程序

WCF客户端服务器应用程序

应用程序的客户端 - 服务器架构

如何使Java Swing应用程序成为客户端服务器应用程序?

C#实现TCP客户端服务器应用程序的最佳方法

客户端-服务器应用程序的服务器部分的体系结构

OCR(光学字符识别)应在Web应用程序中使用客户端或服务器端

在 nodejs Web 应用程序中,firebase 配置的哪些部分位于服务器端和客户端

Django服务器端应用程序(可能是微博客)和android应用程序客户端-如何进行通讯

如何模拟服务器响应-服务器端客户端

如何在客户端渲染的React应用中发出服务器端请求?

Firebase,客户端服务器端与云功能服务器端

如何在客户端/服务器应用程序中区分多个客户端

Express应用程序的客户端如何知道服务器的地址?

如何让您的网络之外的客户端应用程序连接到您的服务器

如何在JAVA中运行服务器-客户端应用程序

如何处理来自 RabitMQ 服务器应用程序的客户端连接

如何从本地服务器到客户端安装软件应用程序

如何从客户端而不是服务器或Web应用程序获取数据?

如何使用DatagramPacket和DatagramSocket类创建服务器-客户端应用程序?

如何正确构建客户端/服务器应用程序?

如何从客户端Web发送消息到服务器MFC应用程序?