| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > клиент / сервер программа |
| Автор: rubenhak 4.2.2004, 17:29 |
| кто может помочь написать простенькую программу - скорее две программы , задача состоит в следующем нужно написать текст в текстбоксе , и нажать SEND в текстбоксе второй програмы |
| Автор: Kurt 4.2.2004, 21:40 | ||||
| Если тебе нужна общая идея, вот тексты клиента и сервера (тут сервер пишет числа, а клиент их выводит). Это консольные проги, но идея одна и та же.. Тебе надо сделать приложение, к-е принимает строку - сервером, а передатчик - клиентом. Вот тексты примера:
Клиент:
|
| Автор: Kurt 6.2.2004, 13:40 | ||||
| А вот полностью ответ на твой вопрос (я надеюсь). Сервер:
Клиент:
Небольшие замечания.. Сервер: Как видишь прослушивание порта расположено в отдельном потоке, инициализация которого происходит в конструкторе. Если не использовать поток, а прям в конструкторе запустить цикл прослушивания - ты даже не увидишь формы - ведь пока не завершится прослушивание, не завершится конструктор, т.е не будет отображена форма. А в конце надо обязательно не забыть остановить поток - а то приложение останется висеть в системе. (оно и понятно) Далее. Это только пример и реализует ответ на вопрос. Если писать что-то типа чата, то так не пойдет - ведь здесь одновременно может быть подсоединен только один клиент! Для "моногоклиентности" я бы сделал один главный поток, к-й прослушивает порт и при соединении отсылал бы обработку запроса в отдельно создаваемый поток, а сам бы возвращался к прослушиванию. Клиент: В этом приложении ты каждый раз по нажатию кнопки коннектишься, выполняешь операции и отсоединяешься. В "серьезном" приложении можно коннектиться только один раз - при инициализации приложения, но тогда желателен "многопоточный" сервер - ведь ты блокирешь доступ на все время работы клиента! А в моем случае - только на время пересылки. Все. Спасибо за внимание. Я старался написать как можно понятнее.. |
| Автор: rubenhak 6.2.2004, 15:34 |
| Курт большое тебе спасибо, все получилось, я использовал твой первый пример, помеял BitWriter на StreamWriter итд. пока |
| Автор: rubenhak 6.2.2004, 15:38 |
| да конечно нужно открыть новый поток, но в конце когда казалось что все готово прога не закривалась, прошлось в ручную остановить thread. я почти закончил свои мини-project (mp3 player) в конце тебе пошлю |
| Автор: rubenhak 6.2.2004, 15:39 |
| жаль что не могу поднять тебе рейтинг (у меня 20 сообщений) |
| Автор: AntonSaburov 6.2.2004, 16:55 | ||
Модератор отметил |
| Автор: Kurt 6.2.2004, 17:28 | ||||
Я думал, ты пишешь какой-нибудь чат.. Только не забудь про обещание.
Давай набирай! Успехов! ..А по поводу поднятия рейтинга.. я подожду. ( В общем, народ, спасибо! Всегда приятно быть кому-то полезным.. |