When I call TWSocket's Send method, I'm getting error 10057, "Send Socket is
not connected"

 

Even after adding a call to WSocket_AsClient.Connect, I still get the same
thing.

 

However, when I add a second call to Connect() just before the call to
Send(), I get "Socket already in use"

 

Here is my code:

 

  { User sends a msg }

  InitializeWSocketProperties;

  WSocket_AsClient.Connect;

  SendTheCurrentRecord;

 

procedure TForm10.InitializeWSocketProperties;

begin

  WSocket_AsClient.Addr := '10.172.2.93'; 

  WSocket_AsClient.Port := 'telnet';

end;

 

procedure TForm10.SendTheCurrentRecord;

begin

  if cmbxMsgType.Items[cmbxMsgType.ItemIndex] = 'ACTIVATE_BOF_SORT' then

    SendActiv8BOFSortRecord

  . . .

 

procedure TForm10.SendActiv8BOFSortRecord;

var

  X: PActivateBOFSort;          

  Ptr: PByte;

  iSent, iSize, iErrorCode: Integer;

begin

  iSize := SizeOf(TActivateBOFSort);

  X := AllocMem(iSize);

  X^.OpCode := ACTIVATE_BOF_SORT;

  X^.Carrier := StrToIntDef(edt1.Text, 0);

  StrLCopy(X^.BOFSortLabel, PChar(edt2.Text), BOF_SORT_LABEL_LENGTH);

  X^.WorkstationOffset := StrToIntDef(edt3.Text, 0);

  X^.RecordTerminator := '~';

  Ptr := PByte(X);

  WSocket_AsClient.Connect; //<--It says here "Socket already in use"

  while iSize > 0 do begin

    iSent := WSocket_AsClient.Send(Ptr, iSize); //<-- It says here "Send
socket is not connected"

    if iSent > 0 then begin

      Inc(Ptr, iSent);

      Dec(iSize, iSent);

      Continue;

    end;

    if iSent = 0 then begin

      ClientSocket.Close;

      raise Exception.Create('Connection closed gracefully');

    end;

    iErrorCode := WSAGetLastError;

    if iErrorCode <> WSAEWOULDBLOCK then

      raise Exception.CreateFmt('Socket Error: %d', [iErrorCode]);

  end;

 

Clay Shannon

The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material.  If the reader of this message is not the intended recipient,
you are hereby notified that your access is unauthorized, and any review,
dissemination, distribution or copying of this message including any
attachments is strictly prohibited.   If you are not the intended
recipient, please contact the sender and delete the material from any
computer.
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to