Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > не работает SendText


Автор: BSOD 16.1.2006, 18:20
Код

procedure Tizd.sendscreen;
  var
    dc     : HDC;
  begin
    dc:=getDC(0);
    try
      bitblt(bm.canvas.Handle,0,0,screen.Width,screen.Height,dc,0,0,SRCCOPY);
    except
    end;
    bmp.Assign(bm);
    bmp.Compress;
    bmp.SaveToStream(stre);
    try
      with Form1 do
        begin
          stre.Position:=0;
          ServerSocket1.Socket.SendText('Size: '+inttostr(stre.Size)+#0);  // здесь не работает =(
          ServerSocket1.socket.SendStream(stre);                                      //
        end;
    finally
      ReleaseDC(dc,0);
    end;
end;


при попытке отправить текст при помощи ServerSocket, вылетает error 10057...
почему и что делать?

Автор: Snowy 16.1.2006, 19:06
Это не SendText не работает - это у тебя коннект отвалился.
А почему он это сделал - из этого кода не видно.

Автор: _hunter 16.1.2006, 19:09
это ошибка WSAECONNRESET,Connection reset by peer
разбирайся с другой стороной

Автор: BSOD 16.1.2006, 19:24
Упс. Извиняюсь. Абшибся... error 10057....

Автор: _hunter 16.1.2006, 20:01
Socket is not connected
ситуация аналогичная

Автор: BSOD 16.1.2006, 20:07
Дык а если посмотреть свойство Socket.connected, то оно true.....
Добавлено @ 20:08
И вот еще: на другой стороне стало выскакивать "error 10061"...

с другой стороны:
Код

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
  s: string;
begin
  s:=Socket.ReceiveText;
  if receiving then
    begin
      stre.Write(s[1],sizeof(s));
      if stre.Size=DS then
        begin
          receiving:=false;
          img.LoadFromStream(stre);
          bm.Assign(img);
          Form2.Image1.Picture.Bitmap:=bm;
        end;
      exit;
    end;
  if pos('Size: ',s)<>0 then
    begin
      delete(s,1,6);
      DS:=strtoint(copy(s,1,pos(#0,s)-1));
      receiving:=true;
      delete(s,1,pos(#0,s));
      stre.Write(s[1],sizeof(s))
    end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)