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

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

08.01.2017, 22:45. Показов 3669. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru