Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 27
1

Java Server-Client. Сервер должен сохранять время запроса, сам запрос(сообщение) и IP, с которого пришел запрос в CSV файл

24.10.2013, 11:44. Просмотров 1663. Ответов 2
Метки нет (Все метки)

Работал на одном компе, так что адрес локальный. Проблема в том, что мой CSV файл пустой. Java только начал изучать, так что если честно еще очень плохо соображаю, что делает каждая функция и т.д. Собственно вопрос, что тут не так и как сделать?
Кодил на NetBeans. Заранее Благодарю за помощь!

Server.java
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
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package server_client;
/**
 *
 * @author 14092
 */
import java.io.*;
//import java.io.File;
//import java.io.FileWriter;
import java.net.*;
import java.util.*;
import java.text.SimpleDateFormat;
 
class TCPServer {
 
public static void main(String argv[]) throws Exception {
 
 
String clientSentence;
String capitalizedSentence;
 
ServerSocket welcomeSocket = new ServerSocket(8030);
 
    while (true) {
 
Socket connectionSocket = welcomeSocket.accept();
 
BufferedReader inFromClient =
        new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
 
DataOutputStream outToClient =
        new DataOutputStream(connectionSocket.getOutputStream());
 
clientSentence = inFromClient.readLine();
String Ipaddr = connectionSocket.getLocalAddress().toString();
 
capitalizedSentence = clientSentence.toUpperCase() + "\n";
 
Date Msg_time = new Date();
SimpleDateFormat df = new SimpleDateFormat("MM/dd/YYYY HH:mm AM");
String formattedDate = df.format(Msg_time);
 
FileWriter results = new FileWriter("F:\\asdfdgf\\Server_Client\\result.csv");
PrintWriter results_pw = new PrintWriter(results);
 
    results_pw.write(Ipaddr);
    results_pw.write(",");
    results_pw.write(capitalizedSentence);
    results_pw.write(",");
    results_pw.write(formattedDate);
    results_pw.flush();
    results_pw.close();
    results.close();
    }
//System.out.println(Ipaddr + capitalizedSentence + Msg_time);
         }
 }
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
[B]Client.java[/B]
[I]/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package server_client;
/**
 *
 * @author 14092
 */
import java.io.*;
import java.net.*;
 
class TCPClient {
 
public static void main(String argv[]) throws Exception {
 
String sentence;
String modifiedSentence;
 
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
Socket clientSocket = new Socket("localhost", 8030);
 
DataOutputStream outToServer =
        new DataOutputStream(clientSocket.getOutputStream());
 
BufferedReader inFromServer =
        new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
 
sentence = inFromUser.readLine();
 
outToServer.writeBytes(sentence + "\n");
 
//String Ipaddr = clientSocket.getLocalAddress().toString();
 
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER: " + modifiedSentence); //+ Ipaddr);
 
clientSocket.close();
    }
}[/I]
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2013, 11:44
Ответы с готовыми решениями:

Узнать тип браузера, с которого пришел запрос.
Как в jsp или в servlet узнать тип браузера от кторого пришел запрос?

Получить домен сайта с которого пришел запрос
Собственно нужно получить домен сайта с которого пришел запрос за статикой. Просто реферер не...

запрос(client)->сеть->mysql(server)
подскажите ,пожалуйста, как организовать работу. мне надо послать запрос по сети на другой...

Отправляем файл через FormData(), запрос есть, а массив $_FILES пустой (сервер не может распарсить запрос?)
Код практически весь из мурзилки отсюда Задача - отправить файл черех Ajax, поместив в...

__________________

Записывайтесь на профессиональные курсы Java-разработчиков
2
0 / 0 / 1
Регистрация: 27.10.2013
Сообщений: 2
27.10.2013, 21:21 2
Полагаю что после каждого writer'a - нужно flush'ить буфер, поэтому и не записывается.

Сам сейчас балуюсь с сокетами - чатик пишу

Добавлено через 5 часов 3 минуты
К тому же, упрости немного код в сервере.

Java
1
2
3
PrintWriter results_pw = new PrintWriter(new FileWriter(new File("path")));
results_pw.println(Ipaddr+", "+capitalizedSentence+", "+formattedDate);
results_pw.flush();
0
Эксперт Java
4073 / 3807 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
28.10.2013, 08:46 3
Закрывайте results_pw, а не results - чтобы буфер полностью сбросился на диск.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2013, 08:46

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Написать клиент-серверное приложение, где клиент должен отсылать запрос на сервер, а тот должен опрашивать БД
Здравствуйте, имею задачу, но не знаю как реализовать. Задача состоит в том чтобы написать клиент...

Экспорт результата запроса к SQL Server в CSV-файл
Добрый день Подскажите, пожалуйста, как выгрузить результат этого запроса в csv-файл? $QUERY =...

Как отключить запрос логина и пароля при подключении к базе через sql server native client 10.1?
вопрос в теме. через параметр loginprompt в adoconnection не получается отключиь

Выводит сообщение: В операции должен использоваться обновляемый запрос
Всем привет!) Суть проблемы: есть приложение, которое работает с файлом БД Акцесс, компиляцию это...

Как сделать, чтобы файл сам давал запрос на сохранение?
Господа! Как сделать, чтобы файл сам давал запрос на сохранение. Или, точнее, чтобы некоторый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.