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

Клиент-серверное приложение

08.01.2017, 22:45. Показов 3689. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Клиент записывает текст в файл и отправляет его серверу. сервер записывает данный текст в обратном порядке записывает в файл и отправляет клиенту. клиент получает файл считывает результат и выводит на экран.

Клиент:
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
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.IO;
 
namespace клиент
{
    class Program
    {
 
        static void Main(string[] args)
        { //создание сокета
 
            Socket s1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress adr = Dns.Resolve("localhost").AddressList[0];
 
            // создание конечной точки с указанием параметров соединения
            IPEndPoint ipEnd = new IPEndPoint(adr, 8086);
            //соединение с сервером 
            s1.Connect(ipEnd);
 
            Console.WriteLine("Соединение установлено.");
 
 
            string str = null;
 
            {
 
                Console.WriteLine("Введите фразу");
                str = Console.ReadLine();
                using (FileStream fstream = new FileStream(@"C:\note.txt", FileMode.OpenOrCreate))
                {
                    // преобразуем строку в байты
                    byte[] array = System.Text.Encoding.Default.GetBytes(str);
                    // запись массива байтов в файл
                    fstream.Write(array, 0, array.Length);
                    Console.WriteLine("Текст записан в файл");
                }
 
 
 
                // буфер для отправляемых данных 
                byte[] d = Encoding.ASCII.GetBytes(str);
                // отправка данных 
                s1.Send(d);
 
 
            }
 
            Console.WriteLine("Фраза отправлена");
 
            byte[] R = new byte[1024]; // буфер для полученных данных из сети //получение результата 
            s1.Receive(R);
            string textFromFile;
            using (FileStream fstream = File.OpenRead(@"C:\note1.txt"))   //записать в другой файл и прописать путь сохзранения файла
            {
                // преобразуем строку в байты
                byte[] array = new byte[fstream.Length];
                // считываем данные
                fstream.Read(array, 0, array.Length);
                // декодируем байты в строку
                textFromFile = System.Text.Encoding.Default.GetString(array);
                Console.WriteLine("Текст из файла: {0}", textFromFile);
            }
 
            Console.WriteLine("Результат: {0}", Encoding.ASCII.GetString(R));
 
            Console.ReadLine();
            s1.Close();
        }
    }
}
Сервер:
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
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
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
 
namespace Server1
{
 
    class Program
    {
 
        static void Main(string[] args)
        { //создание сокета
 
            Socket Listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress adr = Dns.Resolve("localhost").AddressList[0];
            //создание конечной точки с параметрами соединения 
            IPEndPoint ipEnd = new IPEndPoint(adr, 8086);
 
            Listener.Bind(ipEnd);
 
            // прослушивание запросов о соединении 
            Listener.Listen(10);
 
            Console.WriteLine("Ожидание соединения...");
 
            Socket s = Listener.Accept();
 
            // буфер для получаемых данных 
            byte[] bufR = new byte[1024];
            string sum; string a;
            string textFromFile;
 
            { //получение данных ив сети 
                s.Receive(bufR);
 
                // преобразование в строку из типа данных байт 
                
 
                using (FileStream fstream = File.OpenRead(@"C:\note.txt"))
                {
                    // преобразуем строку в байты
                    byte[] array = new byte[fstream.Length];
                    // считываем данные
                    fstream.Read(array, 0, array.Length);
                    // декодируем байты в строку
                    textFromFile = System.Text.Encoding.Default.GetString(array);
                    Console.WriteLine("Текст из файла: {0}", textFromFile);
                }
 
                sum = textFromFile;
                a = sum;
            }
 
            //буфер для отправляемых данных
            string text = a;
            char[] letters = text.ToCharArray();
            Array.Reverse(letters);
            text = String.Concat(letters);
 
            
 
            // запись в файл
            using (FileStream fstream = new FileStream(@"C:\note.txt", FileMode.OpenOrCreate))
            {
                // преобразуем строку в байты
                byte[] bufS = Encoding.ASCII.GetBytes(text.ToString());
                // запись массива байтов в файл
                fstream.Write(bufS, 0, bufS.Length);
                Console.WriteLine("Текст записан в файл");
 
 
                //отправка результата 
 
                s.Send(bufS);
 
                Console.WriteLine("Результат :{0} отправлен", text);
                Console.ReadLine();
                s.Close();
            }
        }
    }
}

Клиент записывает текст в файл и вроде как его отправляет. сервер в свою очередь переворачивает текст. но при отправке результата клиенту происходит ошибка
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2017, 22:45
Ответы с готовыми решениями:

Клиент-серверное приложение
Здарвствуйте уважаемые форумчане, есть такое приложение (создано исключительно для теста соединения): using System; using...

Клиент серверное приложение
Есть приложения, но у меня при отключении клиента от сервера, сервер тоже закрывается.Как сделать чтобы сервер оставался работать дальше?Ну...

Клиент-серверное приложение
Народ, у меня не хочет работать приложение. Скажите, что я делаю не так? Будет здорово, если мой код поправите. Сервер каждые 100...

1
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
09.01.2017, 09:49
Borland23, непонятно что происходит в клиенте (не соответствует тому, что написано в задании)
Предположу, что в задании написано верно, а код - неверный, тогда замените в клиенте строки 56-68 на следующий код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
byte[] R = new byte[1024]; // буфер для полученных данных из сети //получение результата 
s1.Receive(R);
string textFromFile;
using (FileStream fstream = File.Create(@"C:\note1.txt"))   //записать в другой файл и прописать путь сохзранения файла
{
    // преобразуем строку в байты
//    byte[] array = new byte[fstream.Length];
    // считываем данные
    fstream.Write(R, 0, R.Length);
    // декодируем байты в строку
    textFromFile = System.Text.Encoding.Default.GetString(R);
    Console.WriteLine("Текст из файла: {0}", textFromFile);
}
Зачем объявляется array и вводится строка пользователем - понятия не имею, вам лучше знать.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.01.2017, 09:49
Помогаю со студенческими работами здесь

Клиент-серверное приложение
Как создать Клиент-серверное приложение чтоби бил 1 сервер и возможность подключения к нему нескольким клиентам Желательно пример в форме.

Клиент-серверное приложение
Создала клиент-серверное приложение.У меня код клиента в одном проекте,код сервера в другом.Скиньте пример когда клиент и сервер в одном...

Клиент-Серверное приложение на C#
Доброго времени суток. Возможно я буду не первым кто задает подобны вопрос, но все же: подскажите хорошую литературу с примерами, по...

Реализовать клиент серверное приложение
Здраствуйте,дали задание реализовать клиент серверное приложение: Реализовать с клиента: просмотр словаря по алфавиту, поиск введенного...

Глобальное клиент-серверное приложение
Всем здравствуйте, нужно реализовать клиент серверное приложение между компьютерами которые связанные только интернетом! В нете получилось...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru