powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите по Winsock
7 сообщений из 7, страница 1 из 1
Подскажите по Winsock
    #35725132
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
Решил сделать что-то вроде пейджера с помощью Winsock. Типа клиент-сервер.
На сервере Winsock в режиме Winsock.Listen().
Клиент ломится на IP:Port сервера методом Winsock.Connect() и во ответ на сервере срабатывает ConnectionRequest тогда же на сервере создается еще один объект Winsock с параметром RequestID из события Winsock.ConnectionRequest. Тут более-менее все понятно.

Вопрос в следующем: на стадии соединения клиент еще получает от сервера данные и событие Winsock.DataArrival у клиента срабатывает. Но буквально через пару сек клиент от сервера ничего не получает, хотя тот отправляет. В то же время сервер от клиента получает данные нормально. Что интересно по истечении некоторого времени или накопления команд для клиента они таки попадают к клиенту, т.е. целой пачкой. И вот он и вопрос - а как сделать чтобы клиент нормально отрабатывал получение данных от серва? В чем тут заковыка? Соединение есть, данные вначале получает, а потом затыкается...
Думал мож в размере передаваемых данных - типа пока не накопится достаточно то и клиент не получает - расширял до 255 байт - ничего не дало...

PS. Делал на основе решения с foxclub.

vfp9
...
Рейтинг: 0 / 0
Подскажите по Winsock
    #35725565
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я внутреннюю систему обмена сообщениями сделал на SQL Server (он у меня и так используется). Вот тут подробности - http://www.caws.atnet.ru/vfox/sql.html
Сначала думал Broker использовать, но на VFP тяжело сделать клиента нормального -там все под .NET заточено. А если только с помощью VFP все равно придется таймер использовать.
С уважением, Алексей
...
Рейтинг: 0 / 0
Подскажите по Winsock
    #35725615
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данный момент у меня так и сделано - через таймер. Но хочу Instant Messenger
...
Рейтинг: 0 / 0
Подскажите по Winsock
    #35725702
qqqqqqqqqqq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KOЧто интересно по истечении некоторого времени или накопления команд для клиента они таки попадают к клиенту, т.е. целой пачкой.

Глупость скажу, но попробуй добить сообщение нечитаемыми символами до нужного размера.
...
Рейтинг: 0 / 0
Подскажите по Winsock
    #35725754
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую 0-ми.
Пока скажу вот что: когда сервер программно отправляет данные - они нифига не отправляются, хотя метод отправки WinSock.SendData() запускается.
Сделал я на серве возможность любому клиенту отослать мессагу (тексбокс и кнопа). Так вот, зная кому должна была уйти мессага программно, я тому отправлял мессагу "вручную", т.е. сам что-то набрал (даже 1 символ, т.е. неважно что и сколько) и нажал кнопу залать. В 100% случаев:
1) такую мессагу клиент обязательно получает
2) то что клиенту "отправлялась" пере этим программно - приходит первыми строками, за ним "ручная" мессага.
т.е. налицо какая-то буфферизация программной отправки данных, но как от нее избаться - вот в чем вопрос! Пробовал играццо с AutoYield - не помогло...
...
Рейтинг: 0 / 0
Подскажите по Winsock
    #35726068
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добивание CHR(0) до 1024 байта - результат нулевой

А вот помогло таки установка AutoYield в методе отправки данных. Ставим .F. перед отправкой и .Т. опосля.
...
Рейтинг: 0 / 0
Подскажите по Winsock
    #35726073
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл добавить что еще надо написАть
DOEVENTS
сразу после _VFP.AutoYield = .Т.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите по Winsock
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]