Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для VoltDeMar
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020

Сокет съедает 1 символ

09.04.2013, 11:59. Показов 997. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Послыаю текстовое сообщение конвертированное в байты и расконвертирую его тем же методом, доходит на 1 символ меньше из начала строки ( из "Сообщение" получается "ообщение")
C#
1
2
3
4
5
6
7
8
9
10
11
12
                  Socket handler = listener.Accept();
                  string data = null;
                  if (handler.Connected == true)
                  {
                      Console.WriteLine("Connection opened");
                   
                          Console.WriteLine("Enter you message: ");
                          Console.ReadKey();
                          try
                          {
                              byte[] ms = Encoding.ASCII.GetBytes(Console.ReadLine());
                              handler.Send(ms);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2013, 11:59
Ответы с готовыми решениями:

Console.Read() съедает первый символ
Помогите. Команда Console.Read() съедает первый символ, что я делаю не так!?!?!!!!! ААА бесит... Console.Write("Enter: "); ...

Материнка 775 сокет и процессор 771 сокет, Совместимость
Ребят помогите пожалуйста, попробовал разобраться Сам и только запутался больше... Вообщем имеется материнка g31t-m rev 1.0 вот ссылка...

4 планки Apacer DDR3 по 4Gb/1333MHz от старой МВ сокет 775 могу ли я их использовать на сокет 2011
недавно решил перейти с LGA775 на LGA2011. Финансы урезаны поэтому пока приобрёл только процессор Intel Core i7 - 3820 oem, 3.60GHz/ 10 MB/...

9
Заблокирован
09.04.2013, 12:25
ты клиента покажи.
0
 Аватар для VoltDeMar
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
09.04.2013, 12:32  [ТС]
Цитата Сообщение от adm_loro Посмотреть сообщение
ты клиента покажи.
C#
1
2
3
4
5
6
7
 try
            {
                socket.Connect(end);
                        byte[] bytes = new byte[1024];
                        socket.Receive(bytes);
                        string g = Encoding.ASCII.GetString(bytes);
                        Debug.WriteLine(g);
0
Заблокирован
09.04.2013, 13:56
VoltDeMar,

C#
1
int cnt = socket.Receive(bytes);
чему будет равна переменная cnt?

Добавлено через 1 минуту
короче скинь код клиента и сервера полностью. так чего сразу и не въехать.
0
 Аватар для VoltDeMar
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
09.04.2013, 14:00  [ТС]
Цитата Сообщение от adm_loro Посмотреть сообщение
VoltDeMar,

C#
1
int cnt = socket.Receive(bytes);
чему будет равна переменная cnt?

Добавлено через 1 минуту
короче скинь код клиента и сервера полностью. так чего сразу и не въехать.
это полностью, там остальное адреса и обработка, но я сразу после деконвертирования его в Debug.Writeline вывожу и там уже нет символа
0
Заблокирован
09.04.2013, 14:38
Console.ReadKey(); а я как-то и не заметил.

Добавлено через 2 минуты
Убери эту строку и все будет как надо.

И да если нужно работать с ASCII кириллицей, то нужно кодировать/декодировать с помощью Encoding.GetEncoding(1251).

Добавлено через 2 минуты
вот так вообщем:
Цитата Сообщение от VoltDeMar Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
                  Socket handler = listener.Accept();
* * * * * * * * * string data = null;
* * * * * * * * * if (handler.Connected == true)
* * * * * * * * * {
* * * * * * * * * * * Console.WriteLine("Connection opened");
                          Console.WriteLine("Enter you message: ");
* * * * * * * * * * * * * //Console.ReadKey(); вот это строка и съедает у тебя один входной символ
* * * * * * * * * * * * * try
* * * * * * * * * * * * * {
* * * * * * * * * * * * * * * byte[] ms = Encoding.ASCII.GetBytes(Console.ReadLine());
* * * * * * * * * * * * * * * handler.Send(ms);
1
 Аватар для VoltDeMar
18 / 18 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
09.04.2013, 17:02  [ТС]
Цитата Сообщение от adm_loro Посмотреть сообщение
Console.ReadKey(); а я как-то и не заметил.

Добавлено через 2 минуты
Убери эту строку и все будет как надо.

И да если нужно работать с ASCII кириллицей, то нужно кодировать/декодировать с помощью Encoding.GetEncoding(1251).

Добавлено через 2 минуты
вот так вообщем:
Спасибо, помогло.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,234
09.04.2013, 17:59
Цитата Сообщение от VoltDeMar Посмотреть сообщение
Console.ReadKey();
- ?

Добавлено через 2 минуты
Цитата Сообщение от VoltDeMar Посмотреть сообщение
Console.ReadKey();
* * * * * * * * * * * * * try
* * * * * * * * * * * * * {
* * * * * * * * * * * * * * * byte[] ms = Encoding.ASCII.GetBytes(Console.ReadLine ());
* * * * * * * * * * * * * * * handler.Send(ms);
один символ уходит на readkey, остальные (то есть все -1 - первый) отправятся.

Добавлено через 1 минуту
мм, не читал предшествующие посты.
0
Заблокирован
09.04.2013, 18:01
Цитата Сообщение от IamRain Посмотреть сообщение
Если быстро вводить
ты меня убиваешь ... И все таки пробуй читать, что сверху написано(уже не первый раз предлагаю).

Добавлено через 1 минуту
т.е. если медленно, то все будет ок? Console.ReadKey(); просто не заметит подвоха?
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,234
09.04.2013, 18:03
неправильно выразился, исправил.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2013, 18:03
Помогаю со студенческими работами здесь

Как только происходит попытка создать сокет для UDP - сокет TCP сразу ломается (выдает 10093).
Добрый день. Пытаюсь сделать соединение, использующее два канала обмена данными - TCP для управления в режиме клмиента, и UDP - для...

Доработать сокет клиента и сокет сервера
Есть клиент с адресом 192.168.73.2 и сервер (192.168.73.145). Необходимо с помощью низкоуровневого сокета SOCK _ RAW разработать генератор...

Сокет 775 к Сокет 754
Здравствуйте, дорогие форумчане! Извините за тупой вопрос, но можно ли кулер 775 сокета ставить на сокет 754 ? Просто кулер 754 не...

Функция принимает блоки данных (символ1, символ 2, строка), в каждой строке заменять символ 1 на символ 2
функция принимает блоки данный(символ1, символ 2 , строка), в каждом строке заменять символ 1 на символ 2. обязательно использовать функцию...

Если символ Д встречается в массиве чаще чем символ к то заменить его на символ +
Помогите пожалуйста написать задачу Если символ Д встречается в массиве чаще чем символ к то заменить его на символ +


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru