Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.net.Socket;
- import java.net.ServerSocket;
- import java.net.InetAddress;
- import java.net.InetSocketAddress;
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.Executors;
- public class Network implements Runnable {
- public int ACCEPTORS = 500;
- public void run() {
- try {
- System.out.println("[NETWORK]: Starting...");
- int counter = 0;
- for (int i = 0; i < ACCEPTORS; i ++) {
- serverConnectionAcceptorService.submit(new ServerConnectionAcceptRunnable());
- counter++;
- if(counter >= ACCEPTORS) {
- System.out.println("[NETWORK]: Started.");
- }
- }
- listener = new ServerSocket();
- listener.bind(new InetSocketAddress(InetAddress.getByName("0.0.0.0"), 6666), 250);
- while(true) {
- Socket s = listener.accept();
- String connectingHost = s.getInetAddress().getHostName();
- String connector = connectingHost.replace("/", "");
- System.out.println("[MONITOR]: Accepted connection from " + connector);
- server.s.playerHandler.newPlayerClient(s, connector);
- }
- }
- catch(Exception e) {}
- }
- private static class ServerConnectionAcceptRunnable implements Runnable
- {
- @SuppressWarnings("static-access")
- public void run() {
- Socket acceptedSocket = null;
- String acceptedSocketHost = null;
- while(true) {
- synchronized(listener) {
- try {
- acceptedSocket = listener.accept();
- }
- catch(Exception e) {
- }
- }
- try {
- acceptedSocket.setTcpNoDelay(true);
- acceptedSocketHost = acceptedSocket.getInetAddress().toString();
- String connector = acceptedSocketHost.replace("/", "");
- synchronized(server.s.playerHandler) {
- System.out.println("[MONITOR]: Accepted connection from " + connector);
- server.s.playerHandler.newPlayerClient(acceptedSocket, connector);
- }
- } catch(Exception e) {
- }
- }
- }
- }
- public static ServerSocket listener = null;
- public static ExecutorService serverConnectionAcceptorService = Executors.newFixedThreadPool(10);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement