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