Sockets:Туда-сюда-обратно...
Доброе время суток! Возникла проблема двустороннего обмена данных между клиентом и сервером через сокет. Создаю подключение, клиент посылает через метод Send(), а серв ловит через Receive(). А если наоборот-Серв посылает, а клиент ловит, то система не работает, клиент ничего не ловит, точнее ловит пустой массив. В чем беда и как ее исправить?
Сервер не может посылать что либо, без запроса клиента.
Без запроса клиента? как этот запрос организовать??
Цитата: ivan_kult
Без запроса клиента? как этот запрос организовать??
ну я не знаю. Ну почешите клиенту в конце концов гондурас.
глядишь - он че нибудь у вас и запросит
Какой гондурас, вы о чем???
Цитата: ivan_kult
Какой гондурас, вы о чем???
а вы о чем?
чем можно "этот запрос организовать"? Как вы думаете?
Либо предоставив клиенту способ уведомления о событии (CORBA, COM, NET), либо ...
клиент должен озаботиться вопросами уведомления, опрашивая сервер.
кстати из указанных (CORBA, COM, NET)- это не пример для подражанья, это просто один из способов как это сделать. При желании по аналогии (либо на базе) можно сделать свой.
Спасибо, но если можно-поточнее. Как этот опрос или запрос к серверу организовать??Код, пожалуйста, или ссылку. Если не сложно
Цитата: ivan_kult
Спасибо, но если можно-поточнее. Как этот опрос или запрос к серверу организовать??Код, пожалуйста, или ссылку. Если не сложно
Если есть постоянное соединение то задача двустороннего обмена сводится к постоянному прослушиванию сокета как на стороне клиента, так и на стороне сервера.
Так в том то и проблема, что при прослушивании сокета клиентом, тот ничего не "слышит"! Сервер пишет в сокет, а клиент не читает!
Вот в этом проблема.
Но не сомотря на это, могу дать вам один ценный совет. Ценность его - неописуема.
Проидите свой код отладчиком, убедитесь, что сервер действительно пишет - а затем приедите его на форуме (всмысле фрагмент кода в котором происходит взаимодействие сервера и клиента).
Абсолютно уверен, что на форуме сидят не телепаты, а ценность вашего совета воистину неописуема. НО! по какой-то неизвестной мне причине отладчик студии 2008 отвалился на этом проекте-не брейкпоинты не ловят события. даже первое действие в методе Main(). По-этому я даже не могу сказать где ошибка. В этом и все дело:(
Все работает, нашел ошибку)
Ну замечательно. Опишите в чем проблема была, для тех кто возможно будет в этом нуждаться.
Но могу сказать так:И клиент и сервер могут "говорить" и оба могут "слушать"(и даже "слышать"))))