The K Zone, Home

About Me

K View

Projects

Papers

Gallery

Email

 

 

 
 

Evaluation of RMI - Page 13

 

Back to Contents Page

 
 

 

Appendix B - Socket Implementation Code

Implementation of the Server

1. import java.net.*;
2. import java.io.*;
3. public class NFServer
4. {
5. public static void main(String args[])
6. {
7. ServerSocket server = null;
8. Socket channel = null;
9. BufferedReader reader = null;
10. PrintStream output = null;
11. String clientLine = null;
12. StringBuffer serverLine = null;
13. long val1 = 0;
14. long val2 = 0;
15. long val3 = 0;
16.
17. try
18. {
19. server = new ServerSocket(8313);
20. channel = server.accept();
21.
22. reader = new BufferedReader(new InputStreamReader(channel.getInputStream()));
23.
24. output = new PrintStream(channel.getOutputStream());
25. clientLine = reader.readLine();
26.
27. String a = clientLine.substring(0,clientLine.indexOf(','));
28. String b = clientLine.substring(clientLine.indexOf(',')+1, clientLine.lastIndexOf(','));
29. String c = clientLine.substring(clientLine.lastIndexOf(',')+1, clientLine.length());
30. val1 = Long.valueOf(a).longValue();
31. val2 = Long.valueOf(b).longValue();
32. val3 = Long.valueOf(c).longValue();
33.
34. serverLine = new StringBuffer(clientLine);
35. output.println(isPrime(val1) + "," + gcd(val2,val3) + "," + lcm(val2,val3));
36. output.close();
37. reader.close();
38. channel.close();
39. server.close();
40. }
41. catch(IOException ioe)
42. {
43. System.out.println("I/O Exception occurred while using the server");
44. }
45. }
46.
47. public static boolean isPrime(long n){
48. if (n < 2 || n > 2 && n%2 == 0) return false;
49. long m = (long)Math.sqrt(n) + 1;
50. for (long i = 3; i <= m; i += 2)
51. if (n%i == 0) return false;
52. return true;
53. }
54.
55. public static long gcd(long u, long v){
56. for ( ; ; ) {
57. long r = u % v;
58. if (r == 0) return v;
59. u = v;
60. v = r;
61. }
62. }
63.
64. public static long lcm(long u, long v){
65. return u*v/gcd(u,v);
66. }
67. }

 

Home | About Me | K View | Projects | Papers | Gallery | Email