|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.05.2010, 15:49 | #1 |
Регистрация: 03.05.2010
Сообщений: 4
|
Простой клиент-сервер на C#
Доброго времени суток господа. Возникла маленькая проблемка. Пытаюсь разобраться с сокетами, но пока не очень хорошо получается.
Задачка в упрощенном виде выглядит следующим образом: сервер, при подключении к нему клиента, должен отправить клиенту несколько строк текста. Но почему-то у меня получается отправить и принять только одну строку. Если пытаюсь загнать больше выпригивает ошибка. В чем может быть ошибка и по какому условию проверять возможность отправления/приема сообщений. Заранее благодарен за любую помощь. Вот собственно имеющийся код: Серверная часть: Код:
Код:
|
03.05.2010, 17:54 | #2 |
Пользователь
Регистрация: 27.04.2010
Сообщений: 22
|
используйте переносы строк \r\n после каждой записи в stream
|
03.05.2010, 18:28 | #3 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
\r вроде не обязательно. по крайней мере я просто завершал строку \n и всё работало
|
03.05.2010, 23:11 | #4 |
Пользователь
Регистрация: 27.04.2010
Сообщений: 22
|
\r -признак конца строки
\n - переход на след. строку так вопрос решен? |
03.05.2010, 23:51 | #5 |
Регистрация: 03.05.2010
Сообщений: 4
|
Спасибо, хороший способ собрать строку.
Но теперь возникла другая проблема: строку с переносами сервер формирует нормально, НО клиент сделан на WPF (просто для интереса) и список формируется из items-ов для элемента list. А этот элемент видимо может принимать только строку до разделителя В итоге у меня клиент принимает только то, что находится до первого \r\n. Как можно попроще разобрать строку на клиенте (видимо в цикле) до знаков переноса и добавить в items-ы? |
04.05.2010, 00:14 | #6 |
Регистрация: 03.05.2010
Сообщений: 4
|
Вопрос решен.
Если кому интересно, сделано следующим образом: Сервер: Код:
Код:
|
05.05.2010, 13:54 | #7 |
Регистрация: 03.05.2010
Сообщений: 4
|
Появился еще один вопрос: я серверную часть делаю как службу и получаю "облом".
В методе OnStart я оставляю вот что: Код:
Если в методе OnStart меньше кода, то служба запускается без проблем. Что можно сделать? Как увеличить время для запуска службы? Или может быть надо еще как-то код изменить?... Пробовал в блоке CATCH оставить только один символ ";" - тогда служба запускается и сразу выключается с сообщеием что-то вроде: "т.к служба ничего не делает, то она запустилась и сразу выключилась". Кто что может подсказать? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сервер+клиент+клиент на телефон | Razyiller | Работа с сетью в Delphi | 3 | 01.04.2010 20:10 |
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? | Demol | Работа с сетью в Delphi | 1 | 21.04.2009 16:18 |
Простой клиент обмена сообщениями | eks-s | Работа с сетью в Delphi | 1 | 04.03.2008 01:03 |
простой сервер(клиент) TCP | nntpaha | Общие вопросы C/C++ | 4 | 25.12.2007 19:02 |