Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 12.01.2018
Сообщений: 20
1

Основы программирования TCP/IP

23.05.2019, 15:24. Показов 892. Ответов 5

Author24 — интернет-сервис помощи студентам
Есть такое задание:
Разработать две клиент - серверные программы. Клиент отсылает серверу две строки, введенные пользователем. Сервер принимает две строки.
Далее, если обе строки хранят целые числа со знаком, то на экран выводится сумма чисел, в противном случае – конкатенация двух введенных строк. Результат отправляется клиенту для вывода на экран. Для взаимодействия воспользоваться механизмом сокетов и протоколами UDP и TCP.

И есть такое вот решение, но как понимаете, это не то, т.к. работает на на компе, а надо две проги (клиент и сервер).
C++
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
#include <iostream>
#include <string>
 
/*
    Первая принимает от пользователя две строки.
    Далее, если обе строки хранят целые числа со 
    знаком, то на экран выводится сумма чисел, в 
    противном случае – конкатенация двух введенных 
    строк.
*/
 
int main()
{
    std::string s1, s2;
    std::cout << "Enter string: ";
    std::cin >> s1;
    std::cout << "Enter string: ";
    std::cin >> s2;
    bool b1 = true, b2 = true;
    int len = s2.size();
    for(int i = 1; i < len; i++)
        if (! isdigit(s1[i]))
        {
            b1 = false;
            break;
        }
    if (!isdigit(s1[0]) && s1[0] != '+' && s1[0] != '-')
        b1 = false;
    if ( b1 ) 
    {
        len = s2.size();
        for(int i = 1; i < len; i++)
            if (!isdigit(s2[i]))
            {
                b2 = false;
                break;
            }
        if (!isdigit(s2[0]) && s2[0] != '+' && s2[0] != '-')
            b2 = false;
        if (b1 && b2)
            std::cout << atoi(s1.c_str()) + atoi(s2.c_str()) << std::endl;
        else
            std::cout << s1 << s2 << std::endl;
    }
    else
        std::cout << s1 << s2 << std::endl;
    system("pause");
    return EXIT_SUCCESS;    
}
P.S. знаю, что код выше C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2019, 15:24
Ответы с готовыми решениями:

Сцена зависает при запуске TCP-клиента, когда он подключен к TCP - серверу, при этом TCP-клиент полностью функционирует
Проблема описана в заголовке, и хотелось бы услышать ваше мнение, о том как можно решить проблему....

Основы работы с Internet (комплексом протоколов TCP/IP)
Здравствуйте. Необходимо выполнить данные задания, но я совсем не компетентен в данной теме,...

Основы программирования
Такое задание, ребятки. Как это должно выглядеть? 1. Создать проект разрабатываемой...

Основы программирования на С
Столкнулся с проблемой недостаточности знаний по С рассматривая чужие либы. Несколько конструкций...

5
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
23.05.2019, 15:33 2
первая ссылка в гугле, с подробным объяснением)
0
0 / 0 / 0
Регистрация: 12.01.2018
Сообщений: 20
23.05.2019, 17:31  [ТС] 3
Immo,
вот только как теперь в тот код, что Вы скинули, добавить условие самой задачи
Клиент отсылает серверу две строки, введенные пользователем. Сервер принимает две строки.
Далее, если обе строки хранят целые числа со знаком, то на экран выводится сумма чисел, в противном случае – конкатенация двух введенных строк. Результат отправляется клиенту для вывода на экран


Добавлено через 49 минут
UPD.
Нашел полегче ещё.
Клиент принимает от пользователя значение времени – строку вида ЦЦ.ЦЦ.ЦЦ, где Ц – это любая цифра из диапазона [0-9] и отсылает серверу. Сервер принимает значение времени и выводит на экран значение часов минут и секунд прописью (например, ввод «12.01.20» приводит к выводу «двенадцать часов одна минута двадцать секунд»). Результат отправляется клиенту для вывода на экран.
0
130 / 101 / 42
Регистрация: 01.03.2018
Сообщений: 291
23.05.2019, 17:43 4
Andrew_Helix, так вам же ссылку дали на теорию
и там есть хороший пример
в чем у вас проблема??
0
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
23.05.2019, 17:44 5
наверное сложно записать первый ответ, и при второй отправке соединить их)
0
0 / 0 / 0
Регистрация: 12.01.2018
Сообщений: 20
23.05.2019, 18:31  [ТС] 6
Young Vu, в том, что C# не знаю, а Immo скинул действительно хороший пример. Осталось только в тот код доп. условие засунуть и все.
0
23.05.2019, 18:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2019, 18:31
Помогаю со студенческими работами здесь

Основы 3D-программирования?
Всем доброго времени суток ! В последнее время задался вопросом, а для чего нужны знания основ...

Основы программирования
Я хотел бы узнать, как оно (программирование) работает, что оно из себя представляет и немного...

Основы программирования
Ужасно хочу создавать свои програмы! Купил Делфи, пару книг.. Установил, запускаю.. Ничего не...

Основы (и не только) программирования
Здравствуйте! На форуме много тем, подобных той, что создал я. С чего начать программировать?...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru