HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 31.03.2010, 13:48
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Цитата:
Сообщение от НTL  
Сделал отправку прием UDP но что не работает:
Код:
procedure TForm1.Button1Click(Sender: TObject);  //Отправляем текст (здесь все работает все отправляется)
var
ws:TWSAData;
UDP_sock:TSocket;
sockaddr_in:TSockAddrIn;
s:string;

begin
WsaStartup($202,ws);
s:=form1.Edit1.Text;
UDP_sock:=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
sockaddr_in.sin_family:=AF_INET;
sockaddr_in.sin_port:=htons(8765);
sockaddr_in.sin_addr.s_addr:=inet_addr('127.0.0.1');
 if Connect(UDP_sock, sockaddr_in, SizeOf(sockaddr_in))<>0 then
  begin
   closesocket(UDP_sock);
   exit;
  end;
send(UDP_sock,s[1],length(Form1.Edit1.text),0);
closesocket(UDP_sock);
end;

procedure TForm1.Button2Click(Sender: TObject);    //Открытие сокета на прием
var
ws:TWSAData;
sockaddr_in:TSockAddrIn;
s:string;
begin
WsaStartup($202,ws);
s:=form1.Edit1.Text;
UDP_sock2:=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
sockaddr_in.sin_family:=AF_INET;
sockaddr_in.sin_port:=htons(8765);
sockaddr_in.sin_addr.s_addr:=INADDR_ANY;
                                                    //Сюда надо что то поставить чтобы сокет принимал данные, но что???
form1.Timer1.Enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);     //Прием в memo1
var
tmp_buf:array[0..1024] of char;
begin
  form1.Timer1.Enabled:=true;
  recv(UDP_sock2,tmp_buf,1024,0);
  form1.Memo1.Lines.Add(tmp_buf);
end;
end.
В чем проблема?
за отправку по udp отвечает функция sendto (прием - recvfrom)
 
Ответить с цитированием

  #2  
Старый 31.03.2010, 14:07
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами: 9626394

Репутация: 357


По умолчанию

А можно описание всех 6 параметров?
 
Ответить с цитированием

  #3  
Старый 31.03.2010, 14:11
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Цитата:
Сообщение от НTL  
А можно описание всех 6 параметров?
каких еще параметров? (конкретнее)
вообщем вбивай в гугл "udp winsock" и будет тебе счастье (да и кстати, connect тоже вроде не надо делать при udp)
 
Ответить с цитированием

  #4  
Старый 31.03.2010, 16:53
TrueBit
Познающий
Регистрация: 21.11.2009
Сообщений: 77
С нами: 8668804

Репутация: 29
По умолчанию

Продолжаются вопросы про winapi...
Как выполнить функцию при открытии формы? то есть как в vcl formcreate
 
Ответить с цитированием

  #5  
Старый 31.03.2010, 16:59
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
С нами: 9399214

Репутация: 52
По умолчанию

TrueBit если ты в качестве формы используешь диалог из ресурсов то в функции обработки сообщения надо обработать сообщение WM_INITDIALOG
если окно создаешь сам то сообщение WM_CREATE
http://msdn.microsoft.com/en-us/library/ms632619(VS.85).aspx

Последний раз редактировалось transserg; 31.03.2010 в 17:06..
 
Ответить с цитированием

  #6  
Старый 31.03.2010, 20:43
crazyserega1994
Познающий
Регистрация: 26.12.2007
Сообщений: 34
С нами: 9672087

Репутация: 8
По умолчанию

Код HTML:
procedure TForm1.Button1Click(Sender: TObject);
var page:string;
    param:tidmultipartformdatastream;
begin
if (Length(Edit1.Text) > 0) and (Length(Edit2.Text) > 0) then
begin
  param:=tidmultipartformdatastream.Create;
  param.AddFormField('Login',Edit1.Text);
  param.AddFormField('Domain','mail.ru');
  param.AddFormField('Password',Edit2.Text);
  param.AddFormField('page','http://wap.my.mail.ru');
    page:=W.Post('http://my.mail.ru/cgi-bin/auth?noclear=1',param)
  if pos('Неверное имя пользователя или пароль',page) > 0 then
    Statusbar1.Panels[0].Text:='Wrong password!'
  else
    Statusbar1.Panels[0].Text:='Logged!'
  end;
end;
При вводе фейк данных все нормально, в строке состояние пишет "неверное имя...", если же пишу настоящие данные, то тогда выскакует ошибка "Socket error # 11004" :3
 
Ответить с цитированием

  #7  
Старый 31.03.2010, 23:45
Qb1024
Участник форума
Регистрация: 15.07.2009
Сообщений: 200
С нами: 8854478

Репутация: 2
По умолчанию

По 5956 посту подскажите плиз!
 
Ответить с цитированием

  #8  
Старый 31.03.2010, 23:52
EndLeSSDre@M
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
С нами: 8850305

Репутация: 259
По умолчанию

Цитата:
Сообщение от Qb1024  
По 5956 посту подскажите плиз!
на каком языке то хоть?
и уточни задание плиз! например как так при поле 100х100 максимальный квадрат 50? 50 это вообще что такое?

советую ответить как можно скорее))) пока я спать не ушел)

ну ответа так и не дождался... пошел спать... как хочешь

Последний раз редактировалось EndLeSSDre@M; 01.04.2010 в 00:10..
 
Ответить с цитированием

  #9  
Старый 01.04.2010, 16:48
n1ghtstalker
Познающий
Регистрация: 28.09.2008
Сообщений: 65
С нами: 9273261

Репутация: 8
По умолчанию

Цитата:
Сообщение от EndLeSSDre@M  
на каком языке то хоть?
и уточни задание плиз! например как так при поле 100х100 максимальный квадрат 50? 50 это вообще что такое?

советую ответить как можно скорее))) пока я спать не ушел)

ну ответа так и не дождался... пошел спать... как хочешь
1. Тема Delphi/pascal
2. я так понял можно задать матрицу 100x100
при n=3 выстроиться 4 квадрата со сторонами 50x50



ну если на то пошло то 50x50 не будет наибольшим квадратом. 96x96 самый больший из возможных. (для случая n=3),остальные 2 квадрата имеют стороны 2x2
те нахождение максимального квадрата можно свести к 100-n*2

Последний раз редактировалось n1ghtstalker; 01.04.2010 в 16:50..
 
Ответить с цитированием

  #10  
Старый 01.04.2010, 14:59
Ice_VeNOm
Познающий
Регистрация: 05.09.2009
Сообщений: 34
С нами: 8779641

Репутация: 14
По умолчанию

Как реализовать многопоточность на delphi 2010? Там как-то все отличается....
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.