Advertisement
chaminga

server

Apr 15th, 2014
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. import java.io.BufferedInputStream;
  2. import java.io.BufferedOutputStream;
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.File;
  6. import java.io.FileInputStream;
  7. import java.io.FileOutputStream;
  8. import java.io.IOException;
  9. import java.io.InputStream;
  10. import java.io.OutputStream;
  11. import java.net.ServerSocket;
  12. import java.net.Socket;
  13. import java.net.SocketTimeoutException;
  14. import java.util.ArrayList;
  15.  
  16. public class FileServer extends Thread {
  17. private static ArrayList<String> files;
  18. private static final int port = 4711;
  19.  
  20. private ServerSocket serverSocket;
  21.  
  22. public FileServer(int port) throws Exception {
  23. serverSocket = new ServerSocket(port);
  24. serverSocket.setSoTimeout(100000);
  25. }
  26.  
  27. public void run() {
  28. while (true) {
  29. try {
  30. System.out.println("Waiting for client on port " + serverSocket.getLocalPort() + "...");
  31. Socket server = serverSocket.accept();
  32. System.out.println("Just connected to " + server.getRemoteSocketAddress());
  33. DataInputStream in = new DataInputStream(server.getInputStream());
  34. DataOutputStream out = new DataOutputStream(server.getOutputStream());
  35.  
  36. switch (in.readUTF()){
  37. case "dir":
  38. for (String fileName : files) {
  39. out.writeUTF(fileName);
  40. }
  41. out.flush();
  42.  
  43. }
  44.  
  45. //out.writeUTF("Thank you for connecting to " + server.getLocalSocketAddress() + "\nGoodbye!");
  46.  
  47. in.close();
  48. out.close();
  49. server.close();
  50. serverSocket.close();
  51. } catch (SocketTimeoutException s) {
  52. System.out.println("Socket timed out!");
  53. break;
  54. } catch (Exception e) {
  55. e.printStackTrace();
  56. break;
  57. }
  58. }
  59. }
  60.  
  61. public static void main(String[] args) {
  62.  
  63. files = new ArrayList<String>();
  64.  
  65. if (args.length > 0) {
  66. for (int i = 0; i < args.length; i++) {
  67. files.add(args[i]);
  68. }
  69. System.out.println(files.size() + " files loaded!");
  70. }else{
  71. System.out.println("No files loaded!");
  72. }
  73.  
  74. try {
  75. Thread t = new FileServer(port);
  76. t.start();
  77. } catch (Exception e) {
  78. e.printStackTrace();
  79. }
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement