Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 59cef04

Browse files
authored
Update SocketServerRunner.java
1 parent a1b5f74 commit 59cef04

File tree

1 file changed

+22
-40
lines changed

1 file changed

+22
-40
lines changed

SocketClasses/src/TCP_Sockets/SocketServer/SocketServerRunner.java

+22-40
Original file line numberDiff line numberDiff line change
@@ -9,74 +9,56 @@
99
public class SocketServerRunner {
1010
public static void main(String[] args) throws IOException {
1111
/*
12-
1. IP адрес машины на который развернут наш сервер
13-
и будет адресом сервера (в нашем случай мы обратимся
14-
с нашего клиента, сами к себе, поэтому это будет
15-
127.0.0.1), если же мы будем обращаться с другой
16-
(или) к другой машине то в настройках создаваемого
17-
Socket - а клиента кроме TCP порта нужно указывать
18-
IP сервера. В случае TCPSockets.SocketServer - а достаточно TCP
19-
порта (у нас это 7777)
12+
1. IP адрес машины на который развернут наш сервер и будет адресом сервера (в нашем случай мы обратимся с нашего клиента, сами к себе,
13+
поэтому это будет 127.0.0.1), если же мы будем обращаться с другой (или) к другой машине то в настройках создаваемого Socket - а клиента
14+
кроме TCP порта нужно указывать IP сервера. В случае TCPSockets.SocketServer - а достаточно TCP порта (у нас это 7777)
2015
*/
16+
2117
ServerSocket myServerSocket = new ServerSocket(7777);
18+
2219
/*
23-
2. Наш ServerSocket принимает потоки ввода-вывода, как и
24-
обычный Socket. Чтобы наш сервер принял данные, мы применяем
25-
его блокирующий метод *.accept(), т.е. программа будет ждать
26-
пока на данный открытый Socket не придет какое-либо
27-
сообщение из вне.
20+
2. Наш ServerSocket принимает потоки ввода-вывода, как и обычный Socket. Чтобы наш сервер принял данные, мы применяем его блокирующий метод
21+
*.accept(), т.е. программа будет ждать пока на данный открытый Socket не придет какое-либо сообщение из вне.
2822
29-
!!!
30-
Это означает, что наш сервер не может принять, более
31-
чем одно соединение, и для того, чтобы это было возможно
32-
организуется многопоточность.
33-
!!!
23+
!!! Это означает, что наш сервер не может принять, более чем одно соединение, и для того, чтобы это было возможно организуется многопоточность !!!
3424
*/
25+
3526
Socket myOuterConnectionSocket = myServerSocket.accept();
36-
/*
37-
3. Как и в случае с обычным Socket клиентом нас сервер
38-
тоже что-то принимает и что-то отправляет, а значит нам
39-
нужны входящие и исходящие потоки.
40-
*/
27+
28+
/* 3. Как и в случае с обычным Socket клиентом нас сервер тоже что-то принимает и что-то отправляет, а значит нам нужны входящие и исходящие потоки. */
29+
4130
DataOutputStream serverOutputStream =
4231
new DataOutputStream(myOuterConnectionSocket.getOutputStream());
4332
DataInputStream serverInputStream =
4433
new DataInputStream(myOuterConnectionSocket.getInputStream());
34+
4535
/*
46-
4. Выведем на экран сообщение от нашего клиента или
47-
запрос - request (полученные через InputStream). И
48-
пошлем нашему клиенту сообщение от сервера или ответ
49-
- response (отправленные через OutputStream).
36+
4. Выведем на экран сообщение от нашего клиента или запрос - request (полученные через InputStream). И пошлем нашему клиенту сообщение от сервера или
37+
ответ - response (отправленные через OutputStream).
5038
*/
39+
5140
System.out.println("Client request: " + serverInputStream.readUTF());
5241
serverOutputStream.writeUTF("Hello from server!!!");
5342

54-
/*
55-
5. Закрываем все потоки и каналы принудительно. В данном
56-
примере мы не использовали try-with-resources, как в
57-
Socket - клиенте.
58-
*/
43+
/* 5. Закрываем все потоки и каналы принудительно. В данном примере мы не использовали try-with-resources, как в Socket - клиенте. */
44+
5945
myServerSocket.close();
6046
myOuterConnectionSocket.close();
6147
serverOutputStream.close();
6248
serverInputStream.close();
49+
6350
/*
64-
6. Для проверки работоспособности нашего клиент-серверного
65-
соединения, мы первым запускаем наш сервер, который ожидает
66-
внешнего запроса.
51+
6. Для проверки работоспособности нашего клиент-серверного соединения, мы первым запускаем наш сервер, который ожидает внешнего запроса.
6752
68-
Далее, мы запускаем наш клиент, который шлет нашему серверу
69-
сообщение: Hello my first SERVER!!!
53+
Далее, мы запускаем наш клиент, который шлет нашему серверу сообщение: Hello my first SERVER!!!
7054
71-
Сервер в свою очередь получив сообщение из вне отправляет
72-
ответ: Hello from server!!!
55+
Сервер в свою очередь получив сообщение из вне отправляет ответ: Hello from server!!!
7356
7457
Таким образом работает протокол HTTP:
7558
1. Open Connection
7659
2. Send Request
7760
3. Receive Response
7861
4. Close Connection
7962
*/
80-
8163
}
8264
}

0 commit comments

Comments
 (0)