summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/NetworkAcceptThread.java
diff options
context:
space:
mode:
authorspeakeasy <mekevin1917@gmail.com>2011-01-11 05:15:25 +0800
committertahg <tahgtahv@gmail.com>2011-01-11 05:34:52 +0800
commit6a15ae252b6a1cfd63db8722b7878eedfcda170f (patch)
tree5eec1975c959e97235f30377ce1b8d59b9a3b800 /src/main/java/net/minecraft/server/NetworkAcceptThread.java
parent802a46a7097354fe40a6502edc5357e105e84fc3 (diff)
downloadcraftbukkit-6a15ae252b6a1cfd63db8722b7878eedfcda170f.tar
craftbukkit-6a15ae252b6a1cfd63db8722b7878eedfcda170f.tar.gz
craftbukkit-6a15ae252b6a1cfd63db8722b7878eedfcda170f.tar.lz
craftbukkit-6a15ae252b6a1cfd63db8722b7878eedfcda170f.tar.xz
craftbukkit-6a15ae252b6a1cfd63db8722b7878eedfcda170f.zip
Clean up and fix bug in NetworkAcceptThread and NetworkListenThread classes.
Signed-off-by: speakeasy <mekevin1917@gmail.com>
Diffstat (limited to 'src/main/java/net/minecraft/server/NetworkAcceptThread.java')
-rw-r--r--src/main/java/net/minecraft/server/NetworkAcceptThread.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/NetworkAcceptThread.java b/src/main/java/net/minecraft/server/NetworkAcceptThread.java
new file mode 100644
index 00000000..05108d6b
--- /dev/null
+++ b/src/main/java/net/minecraft/server/NetworkAcceptThread.java
@@ -0,0 +1,47 @@
+package net.minecraft.server;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.HashMap;
+
+class NetworkAcceptThread extends Thread {
+
+ final MinecraftServer a; /* synthetic field */
+
+ final NetworkListenThread b; /* synthetic field */
+
+
+ NetworkAcceptThread(NetworkListenThread networklistenthread, String s, MinecraftServer minecraftserver) {
+ b = networklistenthread;
+ a = minecraftserver;
+ // super(s);
+ }
+
+ @Override
+ public void run() {
+ HashMap<InetAddress, Long> clients = new HashMap<InetAddress, Long>();
+ do {
+ if (!b.b) {
+ break;
+ }
+ try {
+ java.net.Socket socket = NetworkListenThread.a(b).accept();
+ if (socket != null) {
+ InetAddress addr = socket.getInetAddress();
+ if (clients.containsKey(addr)) {
+ if (System.currentTimeMillis() - clients.get(addr) < 5000) {
+ clients.put(addr, System.currentTimeMillis());
+ socket.close();
+ continue;
+ }
+ }
+ clients.put(addr, System.currentTimeMillis());
+ NetLoginHandler netloginhandler = new NetLoginHandler(a, socket, (new StringBuilder()).append("Connection #").append(NetworkListenThread.b(b)).toString());
+ NetworkListenThread.a(b, netloginhandler);
+ }
+ } catch (IOException ioexception) {
+ ioexception.printStackTrace();
+ }
+ } while (true);
+ }
+}