Difference between revisions of "TWSocket.Dup"
Jump to navigation
Jump to search
Markus.humm (talk | contribs) (First entry) |
Markus.humm (talk | contribs) (Dup with wrong var called...) |
||
| Line 27: | Line 27: | ||
// and then associate this connection with our client socket | // and then associate this connection with our client socket | ||
asoc:=TAnswerSocket.Create(nil); | asoc:=TAnswerSocket.Create(nil); | ||
| − | asoc.Dup( | + | asoc.Dup(NewSocket); |
except | except | ||
On e:exception do | On e:exception do | ||
Latest revision as of 10:53, 15 September 2006
Main page -> ICS component reference -> TWSocket -> Dup
Definition
method Dup: ?;
Description
Dup is used to assign a new window handle to a TWSocket. This sounds complicated but is normally used in a TCP-Server (TWSocket.OnSessionAvailable) to transfer a newly accepted connection to another socket which will be used then to deal with that connection.
Example
The following example is the accepting of a single incomming TCP connection on the server side. The asoc named TWSocket should have a OnDataAvailable handler assigned to handle the incomming data.
asoc :TWSocket; // socket where the connection will be transfered to,
// would normally be outside on SessionAvailable
procedure TServerSocket.MyOnSessionAvailable(Sender: TObject; ErrCode: Word);
var NewSocket:TSocket; // information about the incomming connection
begin
// only accept it when asoc doesn't yet exist
if not assigned(asoc) then
begin
try
// We need to accept the client connection
NewSocket := Accept; // accept the incomming connection
// and then associate this connection with our client socket
asoc:=TAnswerSocket.Create(nil);
asoc.Dup(NewSocket);
except
On e:exception do
begin
ShowMessage(e.message);
end;
end;
end;
end;