007wan |
Отправлено: 07 Декабря, 2017 - 17:20:49
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Kibor , У меня вопрос: Если использовать Рид/Врайт буфф интернет для обмена сообщениями между программами(есть такой параметр), то после отправки моего сообщения пауза 10сек., а для принятия тоже 10сек.? это же глупо)) я буду ждать 10сек. что бы принять сообщение, а если не я один пишу, то тогда я вообще получает не смогу отправить)) и прочитать, т.к каждый всякий раз буду слушать микание паузы, и это будет долго, века.
(Добавление)
Было бы хорошо если пауза между отправкой была 10сек(это уже есть), а паузы между принятием так скажем не было
(Добавление)
И еще я не знаю принцип работы этой функции, может пока я буду отправлять часть из них(принятых) пропадет, т.е шла другая операция
(Добавление)
Если конечно всё будет, как я хотел, то возможно можно будет отправлять сообщение между программами, а так же другие данные и рассортировать их с помощью разделителя(была такая тема, все работает), то просто можно и другие данные хранить и на сервере и с помощью них влиять на работу чата пользователя, например, плохо ведет себя и можно заблокировать не на долго) |
|
|
007wan |
Отправлено: 08 Декабря, 2017 - 08:24:02
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Kibor , Помните тему с разделением текста?
Вот код:CODE:readbuffernet(#ch[0], 256, "kluch_prog", -1);
ah=format(#ch[0]);
A=size(ah);
strcpy(#ch[0], ah);
t="";
l=0;
for (int j=0; j<size(ah); j++)
{
if (ch[j]=='|')//Разделитель
{
s[0+l]=t;
messagebox(s[0+l]);//смотрим что получили
l++;
t="";
}
else t=t+ch[j];
}
/*Для отправки
s[0]="1";
s[1]="2";
s[2]="3";
s[3]="4";
ah=s[0]+"|"+s[1]+"|"+s[2]+"|"+s[3]+"|";
writebuffernet(#ch[0], A, "kluch_prog", -1);
messagebox (format(#ch[0]));//смотрим что отправили
*/
так вот тут будет использоваться разделитель вместо "|" будет использоваться разделитель "пробел"(потом поменяю), так вот у меня будет 4 слова под разделителем таким, а что если в первую s[0] будет записываться ник, а в нике может быть и пробел, как сделать, что бы вообще не было пробела в нике или просто сообщение выведит, я так понял лучше использовать это:CODE:char a[256];
string b=text_edit0[0];
strcpy(#a[0], b);
int size_char=size(#a[0]);
if (size_char>15 || size_char<5)
{
external(INT, "my_message", "MessageBoxA", "user32.dll");
my_message(0, "Ник должен иметь > 5 символов или < 15", "Ограничение", 0);
} Тут услвоие: если в строчке больше 15 или меньше 5 символов"сообщение", нужно добавить еще одно условие и должно получится так: если в строчке болше 15 символов и меньше 5 и в ней содержится хотя бы один пробел, то "сообщение"
(Добавление)
Просто разделителем будет пробел и как только получит данные одноразвго при выводе диалога, то может посчитать пробел в нике как разделитель |
|
|
|