- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我花了一些时间学习 Java,并以此为自己构建了一个相当复杂的游戏。我的游戏是一个桌面运行的 Swing 应用程序,在播放后会产生一个进入排行榜的得分值。除了一些安全机制外,游戏几乎已经完成。
起初我从未打算让我的游戏连接到网络,因为“网络”这个词总是让我望而却步。现在我的游戏已经慢慢发展起来,结果实际上比我想象的要好得多,这让我有点想学习如何联网。
在对该主题进行大量研究之后,我决定研究套接字并为自己构建一个简单的客户端/套接字服务器。这两个程序都连接到我的本地机器上,这让我买了这里。
我已经知道允许客户端将分数发送到服务器总是容易受到作弊的影响,但最初这个游戏从未打算用于在线分数发布。相反,我决定让我的游戏代码变得非常难读和困惑,这样可能更容易欺骗/破解别人的程序。 (一厢情愿)。
这个游戏只是一个学习曲线,所以在我看来滥用评分系统只会起到教育作用。
我的问题可能看起来很愚蠢,但它只是试图获得更全面的理解。
我想使用一个套接字发送一个数字,比方说 2371 从我的桌面游戏到托管在随机网络服务器上的 Java 服务器。然后我想让 java 服务器找到这个玩家得分的位置 (2371),然后在网站排行榜上打印得分。
真的只是调整代码URL,然后将socketServer代码上传到虚拟主机空间那么简单吗?
如果是,我要上传什么......java 文件或任何其他文件?
我在研究中也多次读到很多虚拟主机不允许上传带有开放端口的 java 文件。这是正确的吗?
非常感谢大家,这是我一直回避的主题,因此我们将不胜感激所有和任何建议。
最佳答案
您需要的是互联网上可以运行进程(您的 Java 服务器应用程序)的计算机,您的 Java 客户端应用程序可以连接到该进程。因此,您将上传文件(可能是 jar 或一些类文件),并通过您必须运行该进程的任何界面告诉服务器。然后,该服务器应用程序可以保存每个人的分数并将它们保存到磁盘以及您需要的任何其他内容。
I have also read many times in my research that alot of webhosts dont allow the uploading of java files with open ports. Is this correct?
这是正确的。您需要租用一台服务器(如果您自己没有服务器,可以将其连接到自己的互联网连接上),一个简单的网络托管公司将不允许您托管自己的运行进程。
Instead I have decided to make my game code so damn unreadable and messy that it may just be easier to cheat/crack someone elses program. (wishful thinking).
我不确定这是不是在开玩笑,但确实有像 ProGuard 这样的源代码混淆器可以做到这一点。
如果您真的想防止人们使用他们自己修改过的客户端将分数简单地写入服务器,那么您必须让服务器进程本身处理一些游戏逻辑。当然,有人仍然可以更进一步,创建一个机器人或任何他们需要作弊的东西,并列出他们的虚假分数。
关于java - 如何使用 java 套接字连接到在线服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24935243/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!