-
Notifications
You must be signed in to change notification settings - Fork 0
/
Server.java
115 lines (89 loc) · 4 KB
/
Server.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package project;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Server {
public static void main(final String[] args) {
try {
int i = 0;
ServerSocket Server = new ServerSocket(4563);
while (true) {
i++;
Socket client = Server.accept();
System.out.println("client number: " + i + " is connected to the server .");
ClientConnection clientconnection = new ClientConnection(client);
clientconnection.start();
} // while true
} // try 18
catch (IOException e) {
e.printStackTrace();
}
}// main 17
static class ClientConnection extends Thread {
Socket client;
DataInputStream ClientRead ;
DataOutputStream ClientWrite ;
ClientConnection(Socket client) {
this.client = client;
}
public void run() {
try {
// To receive messages from the other side
ClientRead = new DataInputStream(client.getInputStream());
// To send messages:
ClientWrite = new DataOutputStream(client.getOutputStream());
ClientWrite.writeUTF("connected");
// start connection with client
while (true) {
//////////////////////////////////////////////////////////code get and host////////////////////////////////////////////////////////////////////////////////////////
String version = "HTTP/1.1 ";
// hence we received name file
String filename = ClientRead.readUTF();
File file = new File(
"C:\\Users\\hp\\eclipse-workspace\\PROJECT_HTTP_53\\Facebook – log in or sign up_files\\");
System.out.println("Request received ");
System.out.println(
"GET/" + file.getName() + " " + filename + version);
System.out.println("HOST " + file.getParent());
/// end code get and host
//////////////////////////////////////////////////////////////print if page exist or no//////////////////////////////////////////////////////////////////////////////
// hence we assume we work with .com
URL url = new URL("http://www." + filename + ".com");
HttpURLConnection CONNECTION = (HttpURLConnection) url.openConnection();
ClientWrite.writeUTF(version + CONNECTION.getResponseCode() + CONNECTION.getResponseMessage());
/////////////////////////////////////////////////////////////////end code exist page or no////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////code date///////////////////////////////////////////////////////////////////////////
// to write day in word
SimpleDateFormat sdf = new SimpleDateFormat("EEE");
String str = sdf.format(new Date());
Date date = new Date();
String DATE = "Date :" + str + "," + date.toGMTString();
ClientWrite.writeUTF(DATE);
////////////////////////////////////////////////////////////////end code date///////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////display file content/////////////////////////////////////////////////////////////////////////////////
StringBuilder filecontent = new StringBuilder();
FileReader filereader = new FileReader(
"C:\\Users\\hp\\eclipse-workspace\\PROJECT_HTTP_53\\Facebook – log in or sign up_files\\"+filename);
BufferedReader BUFFER = new BufferedReader(filereader);
String ptr;
while ((ptr = BUFFER.readLine()) != null) {
filecontent.append(ptr);
}
BUFFER.close();
String result = filecontent.toString();
ClientWrite.writeUTF(result);
////////////////////////////////////////////////////////////////end code display file content///////////////////////////////////////////////////////////////////////////
client.close();
ClientRead.close();
ClientWrite.close();
} // while
} // try
catch (IOException e) {
}
}
}
}