I just put only a piece of code. "sock" used is of course TTCPBlockSocket. The whole code of echo example can be found here

https://github.com/silvioprog/mgeoip/tree/master/3rdparty/synapse/source/demo/echo

I only added two sync procedures to show on the form the status if I'm in CanRead loop or not. But all the time I get that I'm not.

Premek


Dne 26. 1. 2018 v 19:28 Eddy Valdes via synalist-public napsal(a):
There seems to be a couple of things wrong.

You should be using TTCPBlockSocket instead of TSocket.

You don't instantiate listener socket object.



------------------------------------------------------------------------
*From:* "synalist-public-requ...@lists.sourceforge.net" <synalist-public-requ...@lists.sourceforge.net>
*To:* synalist-public@lists.sourceforge.net
*Sent:* Friday, January 26, 2018 7:06 AM
*Subject:* synalist-public Digest, Vol 121, Issue 4

Send synalist-public mailing list submissions to
synalist-public@lists.sourceforge.net <mailto:synalist-public@lists.sourceforge.net>

To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/synalist-public
or, via email, send a message with subject or body 'help' to
synalist-public-requ...@lists.sourceforge.net <mailto:synalist-public-requ...@lists.sourceforge.net>

You can reach the person managing the list at
synalist-public-ow...@lists.sourceforge.net <mailto:synalist-public-ow...@lists.sourceforge.net>

When replying, please edit your Subject line so it is more specific
than "Re: Contents of synalist-public digest..."


Today's Topics:

  1. CanRead always False (P??ma)


----------------------------------------------------------------------

Message: 1
Date: Fri, 26 Jan 2018 11:30:35 +0100
From: P??ma <pr...@email.cz <mailto:pr...@email.cz>>
To: synalist-public@lists.sourceforge.net <mailto:synalist-public@lists.sourceforge.net>
Subject: [Synalist] CanRead always False
Message-ID: <a783cc11-8b51-93e2-5aae-fd0bde839...@email.cz <mailto:a783cc11-8b51-93e2-5aae-fd0bde839...@email.cz>>
Content-Type: text/plain; charset=utf-8; format=flowed

Hi,

When creating program to port forwarding over SSH, I found that the
CanRead function of TCPBlockSocket return always false. This was already
discussed on this forum in 2013 but what was the solution is not clear
to me. At that time Synapse version 3.9 was used.

I use FPC (CodeTyphon) with Synapse 4.0. I have tried simple echo server
demo from Synapse and I have the same issue that it not work. In
attachment is the source code. What I'm doing wrong?

procedure TTCPEchoDaemon.Execute;
var
? ClientSock:TSocket;
begin
? with sock do
??? begin
????? CreateSocket;
????? setLinger(true,10000);
????? bind('0.0.0.0','8008');
????? listen;
????? repeat
??????? if terminated then break;
??????? if canread(1000) then {this is all the time false in my case}
????????? begin
??????????? Synchronize(@InfoCanRead);
??????????? ClientSock:=accept;
??????????? if lastError=0 then TTCPEchoThrd.create(ClientSock);
????????? end else Synchronize(@InfoCanNotRead);
????? until false;
??? end;
end;

Thanks for help.

With best regards

Premek




------------------------------

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

------------------------------

Subject: Digest Footer

_______________________________________________
synalist-public mailing list
synalist-public@lists.sourceforge.net <mailto:synalist-public@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/synalist-public


------------------------------

End of synalist-public Digest, Vol 121, Issue 4
***********************************************




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot


_______________________________________________
synalist-public mailing list
synalist-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synalist-public

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
synalist-public mailing list
synalist-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synalist-public

Reply via email to