| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Помогите сконструировать клиент-сервер приложение |
| Автор: drdoom 2.6.2009, 09:49 |
| Здравствуйте знатоки сетевого программирования. Нужно сконуструировать клиент серверное приложение, потому как я не уверен как правильно должна выглядеть его структура. Постановка задачи: 1 сервер с возможностью соединяться с кучей клиентский приложений одновременно. я научился пользоваться классами TCPClient и TCPLister. как я понял листенер работает получая входящее соединение и создает клиент для отправки ответа. так вот получается, что сервер, по собвственно инциативе не может отправить сообщение любому клиенту, только ответить на его сообщение. отсюда несколько вопросов. 1. Как научить сервер посылать в любой момент сообщения клиентам.(Придется ли создавать слушатель в каждом экземпляре приложения клиента?) 2. Как организовать соединение по типу icq?, то есть чтобы на сервере были показаны все клиенты запущенные в данный момент в сети.(Стоит ли заводить таймер в каждом клиенте и каждые несколько секунд отправлять подтверждения о расположения в сети) 3. Как реализовать чат допустим, не приватный а обший?(То есть я так понял клиент посылает сообщения на сервер, а тот рассылает всем остальным это сообщение. Как это сделать? или можно ли сделать правильнее?) Заранее спасибо за помощь. |
| Автор: DVariuS 2.6.2009, 10:10 |
| drdoom, выбирай: http://www.codeproject.com/KB/IP/PrismServer.aspx http://www.codeproject.com/KB/IP/ykw1.aspx http://www.codeproject.com/KB/IP/ChatAsynchTCPSockets.aspx http://www.codeproject.com/KB/IP/TCPIPChat.aspx |
| Автор: drdoom 2.6.2009, 10:30 |
| спасиб, чет на кодпроджекте не догодался поисать, я просто хотел сам написать, но наверн так будет даже лучше более менее нормальный код хоть. |
| Автор: DVariuS 2.6.2009, 10:37 |
| drdoom, а я и не призываю использовать готовый код |
| Автор: drdoom 2.6.2009, 11:46 |
| Чета я посмотрел проекты) не совсем подходят для реализации, не могли подсказать просто структуры всмысле листенеры клиенты как расположить на клиенте и сервере |
| Автор: drdoom 2.6.2009, 12:08 |
| да в том то и дело что в саомо простом проекте как то лево сделано там главная форма запушена как диалог, а форма она не работает, а с диалогом все время орет) думаю эт не лучший варинат, не можешь мне сказать как в принципе по правильному реализуется посылка сообщений с сервера клиентам? с созданием листенера у клиента? Добавлено через 1 минуту и 3 секунды Мне вообще в принципе чат не нада делать, нужно просто чтобы сервер знал кто в сети есть и посылать команды клиентам |
| Автор: drdoom 4.6.2009, 13:49 |
| ПАсиб я уже написал, не знал что можно просто сохранить клиент сокета и обратно данные ему послать в любоое время |