Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. import java.net.Socket;
  2. import java.net.ServerSocket;
  3. import java.net.InetAddress;
  4. import java.net.InetSocketAddress;
  5. import java.util.concurrent.ExecutorService;
  6. import java.util.concurrent.Executors;
  7.  
  8. public class Network implements Runnable {
  9.  
  10.  
  11. public int ACCEPTORS = 500;
  12.  
  13. public void run() {
  14. try {
  15. System.out.println("[NETWORK]: Starting...");
  16. int counter = 0;
  17. for (int i = 0; i < ACCEPTORS; i ++) {
  18. serverConnectionAcceptorService.submit(new ServerConnectionAcceptRunnable());
  19. counter++;
  20. if(counter >= ACCEPTORS) {
  21. System.out.println("[NETWORK]: Started.");
  22. }
  23. }
  24.  
  25. listener = new ServerSocket();
  26. listener.bind(new InetSocketAddress(InetAddress.getByName("0.0.0.0"), 6666), 250);
  27. while(true) {
  28. Socket s = listener.accept();
  29. String connectingHost = s.getInetAddress().getHostName();
  30. String connector = connectingHost.replace("/", "");
  31. System.out.println("[MONITOR]: Accepted connection from " + connector);
  32. server.s.playerHandler.newPlayerClient(s, connector);
  33. }
  34. }
  35. catch(Exception e) {}
  36. }
  37.  
  38. private static class ServerConnectionAcceptRunnable implements Runnable
  39. {
  40. @SuppressWarnings("static-access")
  41. public void run() {
  42. Socket acceptedSocket = null;
  43. String acceptedSocketHost = null;
  44.  
  45. while(true) {
  46. synchronized(listener) {
  47. try {
  48. acceptedSocket = listener.accept();
  49. }
  50. catch(Exception e) {
  51. }
  52. }
  53. try {
  54. acceptedSocket.setTcpNoDelay(true);
  55. acceptedSocketHost = acceptedSocket.getInetAddress().toString();
  56. String connector = acceptedSocketHost.replace("/", "");
  57. synchronized(server.s.playerHandler) {
  58. System.out.println("[MONITOR]: Accepted connection from " + connector);
  59. server.s.playerHandler.newPlayerClient(acceptedSocket, connector);
  60. }
  61. } catch(Exception e) {
  62. }
  63. }
  64. }
  65. }
  66.  
  67. public static ServerSocket listener = null;
  68. public static ExecutorService serverConnectionAcceptorService = Executors.newFixedThreadPool(10);
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement