Страница: 1 | 2 | 3 | 4 | 5 | 6 |
Вопрос: русские буквы
Добавлено: 21.09.10 15:53
Автор вопроса: Ishayahu | Web-сайт:
Ответы
Всего ответов: 90
Номер ответа: 76
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #76
Добавлено: 26.09.10 02:09
я извиняюсь, что влезаю в такой интересный спор (завтра засяду его разбирать), но на мой вопрос по поводу вопросов при посылке сообщений на сервер так и остался без ответа.
Вот как ты отправляешь:
Вот как считываешь:
StreamWriter по умолчанию работает с кодировкой UTF8, если ты не указал в конструкторе конкретную кодировку.
Строку отправляешь в UTF8, принимаешь как ASCII. Отсюда и вопросики.
Или поменяй отправку на ASCII, или чтение на UTF8. Чтоб кодировки в обоих случаях были одинаковые.
Учти также что в UTF8 не любой символ имеет длину 1 байт, поэтому твой вариант чтения небудет корректно работать, так как он может принять сначала первый байт символа, следующей порцией второй, и соответственно текст будет раскодирован неверно.
Номер ответа: 77
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #77
Добавлено: 26.09.10 02:10
честно говоря надеялся, что ТЫ предложишь
Я уже предложил - делать на асинхронных операциях IO.
Весь сервер на асинхронном IO под несложный протокол вмещается строчек в 300
Номер ответа: 78
Автор ответа:
BG(Алексей)
Вопросов: 26
Ответов: 295
Профиль | | #78
Добавлено: 26.09.10 05:15
netTcpBinding и wsDualHttpBinding
Номер ответа: 79
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #79
Добавлено: 26.09.10 10:40
зачем нужен биндинг
Номер ответа: 80
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #80
Добавлено: 26.09.10 13:58
Давно таких продуктивных тем небыло, глаз радует.
Номер ответа: 81
Автор ответа:
Ishayahu
ICQ: 329944992
Вопросов: 4
Ответов: 21
Web-сайт:
Профиль | | #81
Добавлено: 26.09.10 15:17
Artyomэто так считывает клиент, это я уже нашел и поправил, теперь проблема в том, что и на сервер приходят вопросы от клиента, но где сервер применяет кодировку я так и не нашел ((
Номер ответа: 82
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #82
Добавлено: 27.09.10 01:28
Ищи где массив байт преобразовывается в строку и обратно. Если ты используешь StreamReader/StreamWriter, кодировка должна указываться в них, если не указана, по умолчанию используется UTF-8.
Сервер не может сам "применять" кодировку. это ж не живое существо с интелектом
Номер ответа: 83
Автор ответа:
Ishayahu
ICQ: 329944992
Вопросов: 4
Ответов: 21
Web-сайт:
Профиль | | #83
Добавлено: 27.09.10 07:16
вот это место. Не вижу я тут таких преобразований((
Номер ответа: 84
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #84
Добавлено: 27.09.10 09:41
здесь у тебя уже строка входная. а тебе нужно найти место где байтовый массив в нее превращяется
Номер ответа: 85
Автор ответа:
Ishayahu
ICQ: 329944992
Вопросов: 4
Ответов: 21
Web-сайт:
Профиль | | #85
Добавлено: 27.09.10 10:40
AgentFireнету там в коде такого! эта процедура - обработчик client.LineReceived:
Номер ответа: 86
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #86
Добавлено: 27.09.10 10:48
а что естьclient.linereceived? ..
Номер ответа: 87
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #87
Добавлено: 27.09.10 11:48
Класс UserConnection в студию
Номер ответа: 88
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #88
Добавлено: 27.09.10 12:08
и я о том же..
Номер ответа: 89
Автор ответа:
Ishayahu
ICQ: 329944992
Вопросов: 4
Ответов: 21
Web-сайт:
Профиль | | #89
Добавлено: 27.09.10 12:38
блин, спасибо! сто лет уже не программировал, вообще забыл что классы бывают)) все нашел.
еще раз спасибо!
Номер ответа: 90
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #90
Добавлено: 27.09.10 15:33
зачем нужен биндинг
Нужно ковырять WCF чтоб это понять.
В двух словах, биндинг определяет то каким образом происходит подключение клиента к эндпоинту и как происходит коммуникация. В том числе: какой транспорт используется, какой протокол, как происходит кодирование сообщений и данных, как обеспечивается (и обеспечиватеся ли) безопасность, надежность передачи и т.п.
В коробке есть 12 биндингов, из которых добрая половина работает по HTTP, основана на открытых протоколах и может использоваться из сторонних платформ (всяих джав и делфей). Есть и те которые работают по TCP, UDP, Named Pipes, MSMQ, почти все они работают на недокументированых протоколах и в не предназначены для общения с другими платформами.
Если же юный друг достаточно умен, то без проблем наделает своих биндингов, работающих по ICQ, сжимающие данные и делающие еще более 9000 вещей (причем с блекджеком и ... ну ты понял)