/////////клиент
CODE:
win w=window ("", "", -1);
int p=50;
activate (w) ;
int xL, yL;
char recvs[256];
char sends[256];
int flag=0,flag1=0,flag2=0; // счетчики
enabletimer(0);
int n=0;
loop()
{
mu_pause (300);
}
function mu_pause(int p)
{
for (int t=gettime(); gettime()-t<p; sleep(10)){}
}
CREATE_TIMER(0, 25)
{
if (getkeystate(LBUTTON)==1)
{ while(getkeystate(LBUTTON)==1) sleep(5);
getmouse(xL, yL, w);
flag++;
textout(0, 40, 10, "Нажато"+format(flag), 0);
strcpy(#sends[0], format(xL)+'x'+format(yL)+'y');
textout(4, 40, 95, format(xL)+'x'+format(yL)+'y', 0);
if (opensocket ("192.168.0.101", 10005)==1)
{
if (sendhtml(#sends[0], size(#sends[0]))>0)
{
// if (recvhtml(#recvs[0], 256)>0) textout(3, 400, 70, "вернулся ответ"+format(#recvs[0]), 0);
}
closesocket ();
}
while(getkeystate(LBUTTON)==1)sleep(25);
}
}
int p=50;
activate (w) ;
int xL, yL;
char recvs[256];
char sends[256];
int flag=0,flag1=0,flag2=0; // счетчики
enabletimer(0);
int n=0;
loop()
{
mu_pause (300);
}
function mu_pause(int p)
{
for (int t=gettime(); gettime()-t<p; sleep(10)){}
}
CREATE_TIMER(0, 25)
{
if (getkeystate(LBUTTON)==1)
{ while(getkeystate(LBUTTON)==1) sleep(5);
getmouse(xL, yL, w);
flag++;
textout(0, 40, 10, "Нажато"+format(flag), 0);
strcpy(#sends[0], format(xL)+'x'+format(yL)+'y');
textout(4, 40, 95, format(xL)+'x'+format(yL)+'y', 0);
if (opensocket ("192.168.0.101", 10005)==1)
{
if (sendhtml(#sends[0], size(#sends[0]))>0)
{
// if (recvhtml(#recvs[0], 256)>0) textout(3, 400, 70, "вернулся ответ"+format(#recvs[0]), 0);
}
closesocket ();
}
while(getkeystate(LBUTTON)==1)sleep(25);
}
}
///СЕРВЕРНАЯ ЧАСТЬ
CODE:
win w=window ("", "", -1);
int p=50;
activate (w) ;
int xL, yL;
enabletimer(0);
char recvs[256];
char sends[256];
int flag_recv=0,flag=0;//
string s;
enablelistenport (10005)
recvport (#recvs[0], 256, #flag_recv);
//
m:
sleep(5);
goto m;
CREATE_TIMER(0, 25)
{
if (flag_recv==1)
{
flag_recv=0;
flag++;
string g=format(#recvs[0],8);
textout(0, 200, 10, "Пришло"+g, 0);
if (#recvs[3]=='x')
{ // 1е условие икс на 4й позиции
xL=formatsn(format(#recvs[0],3)); //присваиваем окс координату // проверка и присвоение Y координаты
if (format(#recvs[5])=='y') yL=formatsn(format(#recvs[4])) else {
if (format(#recvs[6])=='y') yL=formatsn(format(#recvs[4],2)) else {
if (format(#recvs[7])=='y') yL=formatsn(format(#recvs[4],3));
}
}
}
if (#recvs[2]=='x')
{ textout(5, 200, 35, "2е условие икс на 3й позиции ", 0);
xL=formatsn(format(#recvs[0],2));
if (format(#recvs[4])=='y') yL=formatsn(format(#recvs[3])) else {
if (format(#recvs[5])=='y') yL=formatsn(format(#recvs[3],2)) else {
if (format(#recvs[6])=='y') yL=formatsn(format(#recvs[3],3));
}
}
}
if (#recvs[1]=='x')
{ textout(6, 200, 35, "3е условие X на 2й позиции ", 0);
xL=formatsn(format(#recvs[0],1));
if (format(#recvs[3])=='y') yL=formatsn(format(#recvs[2])) else {
if (format(#recvs[4])=='y') yL=formatsn(format(#recvs[2],2)) else {
if (format(#recvs[5])=='y') yL=formatsn(format(#recvs[2],3));
}
}
}
textout(4, 200, 100,"xL="+ format(xL)+"yL="+ format(yL), 0);
// ТУт я просто проверяю правильность обработки данных. Хотел что бы в X и Y записались координаты после обработки. Но понять е могу почему не получается. Может не верный алгоритм обработки входящего сообщения, может есть более просто алгоритм.
Ну естественно если данные принялись и записались в x и y то там уже sendmouse (LEFT, xL, yL, wind);
//text_edit0[0]=format(#recvs[0]);
//strcpy(#sends[0], s);
//sendport (#sends[0], size(#sends[0]));
recvport (#recvs[0], 256, #flag_recv); //
}
}
int p=50;
activate (w) ;
int xL, yL;
enabletimer(0);
char recvs[256];
char sends[256];
int flag_recv=0,flag=0;//
string s;
enablelistenport (10005)
recvport (#recvs[0], 256, #flag_recv);
//
m:
sleep(5);
goto m;
CREATE_TIMER(0, 25)
{
if (flag_recv==1)
{
flag_recv=0;
flag++;
string g=format(#recvs[0],8);
textout(0, 200, 10, "Пришло"+g, 0);
if (#recvs[3]=='x')
{ // 1е условие икс на 4й позиции
xL=formatsn(format(#recvs[0],3)); //присваиваем окс координату // проверка и присвоение Y координаты
if (format(#recvs[5])=='y') yL=formatsn(format(#recvs[4])) else {
if (format(#recvs[6])=='y') yL=formatsn(format(#recvs[4],2)) else {
if (format(#recvs[7])=='y') yL=formatsn(format(#recvs[4],3));
}
}
}
if (#recvs[2]=='x')
{ textout(5, 200, 35, "2е условие икс на 3й позиции ", 0);
xL=formatsn(format(#recvs[0],2));
if (format(#recvs[4])=='y') yL=formatsn(format(#recvs[3])) else {
if (format(#recvs[5])=='y') yL=formatsn(format(#recvs[3],2)) else {
if (format(#recvs[6])=='y') yL=formatsn(format(#recvs[3],3));
}
}
}
if (#recvs[1]=='x')
{ textout(6, 200, 35, "3е условие X на 2й позиции ", 0);
xL=formatsn(format(#recvs[0],1));
if (format(#recvs[3])=='y') yL=formatsn(format(#recvs[2])) else {
if (format(#recvs[4])=='y') yL=formatsn(format(#recvs[2],2)) else {
if (format(#recvs[5])=='y') yL=formatsn(format(#recvs[2],3));
}
}
}
textout(4, 200, 100,"xL="+ format(xL)+"yL="+ format(yL), 0);
// ТУт я просто проверяю правильность обработки данных. Хотел что бы в X и Y записались координаты после обработки. Но понять е могу почему не получается. Может не верный алгоритм обработки входящего сообщения, может есть более просто алгоритм.
Ну естественно если данные принялись и записались в x и y то там уже sendmouse (LEFT, xL, yL, wind);
//text_edit0[0]=format(#recvs[0]);
//strcpy(#sends[0], s);
//sendport (#sends[0], size(#sends[0]));
recvport (#recvs[0], 256, #flag_recv); //
}
}