Привет программистам в Интернете. В настоящее время я перехожу к книге операционных систем, и есть некоторые упражнения, которые включают в себя следующие фрагменты кода.Взаимодействие с сервером и клиентом
Это код сервера
import java.net.*;
import java.io.*;
public class DateServer{
public static void main(String[] args) {
try {
ServerSocket sock = new ServerSocket(6013);
// now listen for connections
while (true) {
Socket client = sock.accept();
PrintWriter pout = new
PrintWriter(client.getOutputStream(), true);
// write the Date to the socket
pout.println(new java.util.Date().toString());
// close the socket and resume
// listening for connections
client.close();
}
}
catch (IOException ioe) {
System.err.println(ioe);
}
}
}
Это код клиента
import java.net.*;
import java.io.*;
public class DateClient{
public static void main(String[] args) {
try {
//make connection to server socket
Socket sock = new Socket("127.0.0.1",6013);
InputStream in = sock.getInputStream();
BufferedReader bin = new
BufferedReader(new InputStreamReader(in));
// read the date from the socket
String line;
while ((line = bin.readLine()) != null)
System.out.println(line);
// close the socket connection
sock.close();
}
catch (IOException ioe) {
System.err.println(ioe);
}
}
}
Так мое понимание сервер создает сокет и запись значения даты к нему. Затем клиент идет длинным и подключается к серверу и записывает значение в этом сокете. Я правильно интерпретирую этот код? Это мой первый опыт работы с сокетами.
Теперь для моего вопроса. Я хочу, чтобы клиент подключился к серверу (и распечатал сообщение о том, что вы подключены), а затем сможет отправить значение на сервер, чтобы сервер мог его обработать. Как мне это сделать? Я попытался возиться с DataOutputStream и DataInputStream, но я никогда не использовал их раньше. Любая помощь была бы высоко оценена.
Так много примеров на этом сайте. Посмотрите, в частности, на шквал недавних вопросов о клиентах чата. – KevinO