Re: [twsocket] V6 ThreadDetach #2

2006-06-24 Thread Francois PIETTE
 The getter could be changed but this could break something elsewhere

 I don't know where else this might be impotant. Instead I thought that
 V6 is an oportunity to get rid of the old ballast

Yes, indeed. This change would require to check everything again in details. 
I can affect any component. This is not as simple as simply remove the line 
from the code.
--
[EMAIL PROTECTED]
http://www.overbyte.be


- Original Message - 
From: Arno Garrels [EMAIL PROTECTED]
To: ICS support mailing twsocket@elists.org
Sent: Friday, June 23, 2006 9:47 PM
Subject: Re: [twsocket] V6 ThreadDetach #2


 Francois PIETTE wrote:
 what do you think?

 The getter could be changed but this could break something elsewhere

 I don't know where else this might be impotant. Instead I thought that
 V6 is an oportunity to get rid of the old ballast

 depending on the handle being created when needed. Since checking the
 handle value is useful to know if attached or not to a thread, maybe
 a simple new method IsThreadAttached could be created, just returning
 Result := FHandle  0;
 Then the offending code could be changed to:
if Assigned(FServer) and FServer.IsThreadAttached then
PostMessage(Server.Handle, Server.FMsg_WM_CLIENT_CLOSED,

 That won't help, because that client would never be freed. If the
 developer detaches the window handle he becomes responsible for what
 was doing, so raising a meaningfull error rather than allocating a new
 window in the background is the wayto go, mytwo cents.



 btw: IsThreadAttached is probably the best name. It's just was is
 passing thru my head now.

 --
 Contribute to the SSL Effort. Visit
 http://www.overbyte.be/eng/ssl.html --
 [EMAIL PROTECTED]
 http://www.overbyte.be



 - Original Message -
 From: Arno Garrels [EMAIL PROTECTED]
 To: ICS support mailing twsocket@elists.org
 Sent: Friday, June 23, 2006 9:12 PM
 Subject: Re: [twsocket] V6 ThreadDetach #2


 Francois PIETTE wrote:
 You get the session closed after calling ThreadDetach ?

 Yes, since I'm always stress testing. A client may disconnect at
 any time. It would be more straight ahead if the getter would become
 a real getter (returning zero if there's no window available) then
 checking the return value of PostMessage and raising an exception if
 necessary, in this case it propably would be something like
 Invalid handle that would make much more sense finding the bug,
 what do you think?


 ---
 Arno Garrels [TeamICS]
 http://www.overbyte.be/eng/overbyte/teamics.html



 --
 [EMAIL PROTECTED]
 http://www.overbyte.be

 - Original Message -
 From: Arno Garrels [EMAIL PROTECTED]
 To: ICS support mailing twsocket@elists.org
 Sent: Friday, June 23, 2006 8:55 AM
 Subject: Re: [twsocket] V6 ThreadDetach #2


 Already got it! It is as I wrote in my previous mail...

 procedure TWSocketClient.TriggerSessionClosed(ErrCode : Word);
 begin
if not FSessionClosedFlag then begin
FSessionClosedFlag := TRUE;
if Assigned(FServer) then
PostMessage(Server.Handle, Server.FMsg_WM_CLIENT_CLOSED,
 ErrCode,
{$IFDEF CLR}
Integer(IntPtr(Self.HandleGc)));
{$ENDIF}
{$IFDEF WIN32}
LongInt(Self));
{$ENDIF}
inherited TriggerSessionClosed(ErrCode);
end;
 end;

 A getter that automatically allocates a new window handle is a bad
 solution!



 Francois Piette wrote:
 For debugging purpose, do this:

 Create a global public variable in wndcontrol, initialize it to
 false.
 From your thread exceute, just after threaddetach, set it to
 true. From the routine where the window handle is allocated (I
 haven't the code
 here, I do from my head), add this:
 if MyGlobalVar then
 OutputDebugString('Got it');
 Then place a breakpoint on the OutputDebugString line and run your
 program. When (if) the breakpoint is hit, have a look at the stack
 trace to understand where it comes from.

 Contribute to the SSL Effort. Visit
 http://www.overbyte.be/eng/ssl.html --
 [EMAIL PROTECTED]
 Author of ICS (Internet Component Suite, freeware)
 Author of MidWare (Multi-tier framework, freeware)
 http://www.overbyte.be


 - Original Message -
 From: Arno Garrels [EMAIL PROTECTED]
 To: ICS support mailing twsocket@elists.org
 Sent: Thursday, June 22, 2006 9:37 PM
 Subject: Re: [twsocket] V6 ThreadDetach #2


 Arno Garrels wrote:
 Francois PIETTE wrote:
 Not sure what you mean. The problem is that even if you call
 ThreadDetach (which is to make the component windowless) you
 cannot be sure that the component will not allocate another
 window handle somewhere in the background
 after that call to ThreadDetach.

 I don't see how the component would create another window
 handle once ThreadDetach has been called: no event will be
 generated anymore. Only the currently executing event will
 continue execution ans far as memory serve me well, no event
 

Re: [twsocket] WSocket - HOW DO I...?

2006-06-24 Thread Waldemar Łukaszewski
Its TCP for sure... but the problem is that there are not terminators 
(terminating strings/chars)...

Look at this... full dump from IRIS:

http://komputery.info.pl/PACKETS/fulldump_lan_ok.txt - packets are being sent 
in one... whole BF2CC PL command answer was sent at once... - no problem here.

http://komputery.info.pl/PACKETS/fulldump_lan_notok.txt - packets are split, 
answer to request was sent in few parts, OnDataAvailable was called 4 times!

So how do i know if full single command answer was sent or is it only a part of 
it??? :(

Dnia 23-06-2006 o godz. 8:46 Francois Piette napisał(a):
 If you have a protocol designed for UDP and use it with UDP, then you 
 have a
 problem: UDP preserve datagram boundaries. TCP doesn't because it is a
 stream oriented protocol. So when in the UDP version you simply send 
 bf2cc
 pl (exactly, without anything prepened or appended), then with TCP you
 _must_ add an end of line delimiter such as a CR/LF pair so that the
 receiver know when data has been received.
 
 Again, read TCP/UDP primer document available from the support page at 
 my
 website.
 
 Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
 --
 [EMAIL PROTECTED]
 Author of ICS (Internet Component Suite, freeware)
 Author of MidWare (Multi-tier framework, freeware)
 http://www.overbyte.be
 
 
 
 - Original Message - 
 From: Waldemar Łukaszewski [EMAIL PROTECTED]
 To: ICS support mailing twsocket@elists.org
 Sent: Thursday, June 22, 2006 10:00 PM
 Subject: Re: [twsocket] WSocket - HOW DO I...?
 
 
  In BF2 it uses TCP... anyways... the problem is that i dunno how to set
 this buffer size :( The problem appears only on WIFI connection... :(
 
 
  Dnia 22-06-2006 o godz. 21:23 Dan napisał(a):
   RCON usually uses UDP (at least in my experience with Half-Life).  
 You
   probably need to increase the buffer size of the socket so that all 
 the
   data
   is included in a single datagram.
  
   Dan
  
   -Original Message-
   From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED]
 On
   Behalf Of Waldemar Lukaszewski
   Sent: 22 June 2006 19:34
   To: ICS support mailing
   Subject: Re: [twsocket] WSocket - HOW DO I...?
  
   The problem is that i'm only making a clinet. Server is as it is. 
 There
   is
   no way to change it...
  
  
   Dnia 22-06-2006 o godz. 17:58 Francois PIETTE napisał(a):
 have no idea how do i know if server have sent all it wanted to 
 send
after
 command.
   
The easiest is to add a delimiter after the data. And the eaisiest 
 is
   to
use
a CR/LF pair, that is send text lines. It is easy because TWSocket 
 has
   a
LineMode you can set to TRUE to have it assemble complete lines 
 before
triggering OnDataAvailable.
   
You should probably read the document TCP/UDP primer available 
 from
the
support page at my website.
   
   
--
Contribute to the SSL Effort. Visit
 http://www.overbyte.be/eng/ssl.html
--
[EMAIL PROTECTED]
http://www.overbyte.be
   
   
   
- Original Message - 
From: Waldemar Łukaszewski [EMAIL PROTECTED]
To: twsocket twsocket@elists.org
Sent: Thursday, June 22, 2006 5:48 PM
Subject: [twsocket] WSocket - HOW DO I...?
   
   
 Hi.
 Got serious problem with WSocket... im trying to write a client 
 for
rcon
 (BF2 game server administration system), but have no idea how do 
 i
know if
 server have sent all it wanted to send after command.

 For example got command bf2cc pl that list players on the 
 server
   and
 gives some information about them... its raw text... but on my
   laptop
it
 sends data 2 times: first parto of data and second part of 
 data...
   and
how
 do i know if its all or will it send some more??

 Thanx for help!
 WL

 
 Chciałbyś zagrać w POKERA ON-LINE ale nie chcesz nic płacić?
 Zagraj z nami! Darmowy polski poker on-line na Wirtualnej Polsce:

   
  
 http://klik.wp.pl/?adr=www.gol.wp.pl%2Fgry.online-poker.draw.htmlsid=799


 -- 
 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
   
-- 
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
   
  
   
   Chciałbyś zagrać w POKERA ON-LINE ale nie chcesz nic płacić?
   Zagraj z nami! Darmowy polski poker on-line na Wirtualnej Polsce:
  
 http://klik.wp.pl/?adr=www.gol.wp.pl%2Fgry.online-poker.draw.htmlsid=799
  
  
   -- 
   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
  
  
   -- 
   To 

Re: [twsocket] WSocket - HOW DO I...?

2006-06-24 Thread Arno Garrels
Waldemar Lukaszewski wrote:
 Its TCP for sure... but the problem is that there are not terminators
 (terminating strings/chars)... 

The dump looks like a header is prepended that probably contain data
length.  You need to know the header structure/size and the protocol as
well otherwise it will be hard to get tis working.

---
Arno Garrels [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
 

 
 Look at this... full dump from IRIS:
 
 http://komputery.info.pl/PACKETS/fulldump_lan_ok.txt - packets are
 being sent in one... whole BF2CC PL command answer was sent at
 once... - no problem here.  
 
 http://komputery.info.pl/PACKETS/fulldump_lan_notok.txt - packets are
 split, answer to request was sent in few parts, OnDataAvailable was
 called 4 times!  
 
 So how do i know if full single command answer was sent or is it only
 a part of it??? :( 
 
 Dnia 23-06-2006 o godz. 8:46 Francois Piette napisal(a):
 If you have a protocol designed for UDP and use it with UDP, then you
 have a
 problem: UDP preserve datagram boundaries. TCP doesn't because it is
 a stream oriented protocol. So when in the UDP version you simply
 send bf2cc
 pl (exactly, without anything prepened or appended), then with TCP
 you _must_ add an end of line delimiter such as a CR/LF pair so
 that the receiver know when data has been received.
 
 Again, read TCP/UDP primer document available from the support
 page at my
 website.
 
 Contribute to the SSL Effort. Visit
 http://www.overbyte.be/eng/ssl.html --
 [EMAIL PROTECTED]
 Author of ICS (Internet Component Suite, freeware)
 Author of MidWare (Multi-tier framework, freeware)
 http://www.overbyte.be
 
 
 
 - Original Message -
 From: Waldemar Lukaszewski [EMAIL PROTECTED]
 To: ICS support mailing twsocket@elists.org
 Sent: Thursday, June 22, 2006 10:00 PM
 Subject: Re: [twsocket] WSocket - HOW DO I...?
 
 
 In BF2 it uses TCP... anyways... the problem is that i dunno how to
 set this buffer size :( The problem appears only on WIFI
 connection... :(  
 
 
 Dnia 22-06-2006 o godz. 21:23 Dan napisal(a):
 RCON usually uses UDP (at least in my experience with Half-Life).
 You probably need to increase the buffer size of the socket so
 that all the data
 is included in a single datagram.
 
 Dan
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]
 On
 Behalf Of Waldemar Lukaszewski
 Sent: 22 June 2006 19:34
 To: ICS support mailing
 Subject: Re: [twsocket] WSocket - HOW DO I...?
 
 The problem is that i'm only making a clinet. Server is as it is.
 There is
 no way to change it...
 
 
 Dnia 22-06-2006 o godz. 17:58 Francois PIETTE napisal(a):
 have no idea how do i know if server have sent all it wanted to
 send after 
 after
 command.
 
 The easiest is to add a delimiter after the data. And the
 eaisiest is to 
 to
 use
 a CR/LF pair, that is send text lines. It is easy because
 TWSocket has a 
 a
 LineMode you can set to TRUE to have it assemble complete lines
 before triggering OnDataAvailable.
 
 You should probably read the document TCP/UDP primer available
 from the
 support page at my website.
 
 
 --
 Contribute to the SSL Effort. Visit
 http://www.overbyte.be/eng/ssl.html --
 [EMAIL PROTECTED]
 http://www.overbyte.be
 
 
 
 - Original Message -
 From: Waldemar Lukaszewski [EMAIL PROTECTED]
 To: twsocket twsocket@elists.org
 Sent: Thursday, June 22, 2006 5:48 PM
 Subject: [twsocket] WSocket - HOW DO I...?
 
 
 Hi.
 Got serious problem with WSocket... im trying to write a client
 for rcon 
 rcon
 (BF2 game server administration system), but have no idea how do
 i know if 
 know if
 server have sent all it wanted to send after command.
 
 For example got command bf2cc pl that list players on the
 server and 
 and
 gives some information about them... its raw text... but on my
 laptop it 
 it
 sends data 2 times: first parto of data and second part of
 data...
 and
 how
 do i know if its all or will it send some more??
 
 Thanx for help!
 WL
 
 
 Chcialbys zagrac w POKERA ON-LINE ale nie chcesz nic placic?
 Zagraj z nami! Darmowy polski poker on-line na Wirtualnej Polsce:
 
 
 
 http://klik.wp.pl/?adr=www.gol.wp.pl%2Fgry.online-
 poker.draw.htmlsid=799 
 
 
 --
 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
 
 --
 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
 
 
 
 Chcialbys zagrac w POKERA ON-LINE ale nie chcesz nic placic?
 Zagraj z nami! Darmowy polski poker on-line na Wirtualnej Polsce:
  http://klik.wp.pl/?adr=www.gol.wp.pl%2Fgry.online-
 poker.draw.htmlsid=799 
 
 
 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto 

Re: [twsocket] WSocket - HOW DO I...?

2006-06-24 Thread Waldemar Łukaszewski
Nice... and what does it mean ? :) I mean... how do i implement it?


Dnia 24-06-2006 o godz. 17:51 Dan napisał(a):
 http://bf2.fun-o-matic.org/index.php/RCon_Protocol
 
 Commands 
 All commands sent by the client have /n (0x0A) appended to indicate the
 end-of-line. An optional 0x02 character can be prefixed to the command -
 this instructs the server to append a 0x04 character on the output 
 generated
 by the command to indicate the end of the data. However, its worth noting
 that the server does not send a 0x0A (newline) after the 0x04 (EOT)
 character, so you'll have to make sure your program can handle this. 
 This is
 an optional part of the protocol that can be implemented if returning 
 all of
 the output is important to your environment. 
 
 Dan
 
 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
 Behalf Of Waldemar Lukaszewski
 Sent: 24 June 2006 16:04
 To: ICS support mailing
 Subject: Re: [twsocket] WSocket - HOW DO I...?
 
 It's a standard header. No additional data available... Compare the 2 
 dumps
 I gave... packet size header is the number of bytes in selected packet...
 doesnt have anything to do with how WSocket will split it...
 
 
 Dnia 24-06-2006 o godz. 15:18 Arno Garrels napisał(a):
  Waldemar Lukaszewski wrote:
   Its TCP for sure... but the problem is that there are not terminators
   (terminating strings/chars)... 
  
  The dump looks like a header is prepended that probably contain data
  length.  You need to know the header structure/size and the protocol as
  well otherwise it will be hard to get tis working.
  
  ---
  Arno Garrels [TeamICS]
  http://www.overbyte.be/eng/overbyte/teamics.html
   
  
   
   Look at this... full dump from IRIS:
   
   http://komputery.info.pl/PACKETS/fulldump_lan_ok.txt - packets are
   being sent in one... whole BF2CC PL command answer was sent at
   once... - no problem here.  
   
   http://komputery.info.pl/PACKETS/fulldump_lan_notok.txt - packets are
   split, answer to request was sent in few parts, OnDataAvailable was
   called 4 times!  
   
   So how do i know if full single command answer was sent or is it only
   a part of it??? :( 
   
   Dnia 23-06-2006 o godz. 8:46 Francois Piette napisal(a):
   If you have a protocol designed for UDP and use it with UDP, then 
 you
   have a
   problem: UDP preserve datagram boundaries. TCP doesn't because it is
   a stream oriented protocol. So when in the UDP version you simply
   send bf2cc
   pl (exactly, without anything prepened or appended), then with TCP
   you _must_ add an end of line delimiter such as a CR/LF pair so
   that the receiver know when data has been received.
   
   Again, read TCP/UDP primer document available from the support
   page at my
   website.
   
   Contribute to the SSL Effort. Visit
   http://www.overbyte.be/eng/ssl.html --
   [EMAIL PROTECTED]
   Author of ICS (Internet Component Suite, freeware)
   Author of MidWare (Multi-tier framework, freeware)
   http://www.overbyte.be
   
   
   
   - Original Message -
   From: Waldemar Lukaszewski [EMAIL PROTECTED]
   To: ICS support mailing twsocket@elists.org
   Sent: Thursday, June 22, 2006 10:00 PM
   Subject: Re: [twsocket] WSocket - HOW DO I...?
   
   
   In BF2 it uses TCP... anyways... the problem is that i dunno how to
   set this buffer size :( The problem appears only on WIFI
   connection... :(  
   
   
   Dnia 22-06-2006 o godz. 21:23 Dan napisal(a):
   RCON usually uses UDP (at least in my experience with Half-Life).
   You probably need to increase the buffer size of the socket so
   that all the data
   is included in a single datagram.
   
   Dan
   
   -Original Message-
   From: [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED]
   On
   Behalf Of Waldemar Lukaszewski
   Sent: 22 June 2006 19:34
   To: ICS support mailing
   Subject: Re: [twsocket] WSocket - HOW DO I...?
   
   The problem is that i'm only making a clinet. Server is as it is.
   There is
   no way to change it...
   
   
   Dnia 22-06-2006 o godz. 17:58 Francois PIETTE napisal(a):
   have no idea how do i know if server have sent all it wanted to
   send after 
   after
   command.
   
   The easiest is to add a delimiter after the data. And the
   eaisiest is to 
   to
   use
   a CR/LF pair, that is send text lines. It is easy because
   TWSocket has a 
   a
   LineMode you can set to TRUE to have it assemble complete lines
   before triggering OnDataAvailable.
   
   You should probably read the document TCP/UDP primer available
   from the
   support page at my website.
   
   
   --
   Contribute to the SSL Effort. Visit
   http://www.overbyte.be/eng/ssl.html --
   [EMAIL PROTECTED]
   http://www.overbyte.be
   
   
   
   - Original Message -
   From: Waldemar Lukaszewski [EMAIL PROTECTED]
   To: twsocket twsocket@elists.org
   Sent: Thursday, June 22, 2006 5:48 PM
   Subject: [twsocket] WSocket - HOW DO I...?
   
   
   Hi.
   Got serious problem with WSocket... im trying 

Re: [twsocket] WSocket - HOW DO I...?

2006-06-24 Thread Waldemar Łukaszewski
Oh ... so this means that 0x04 is not being sent by the server and that 
information is crap or there is something wrong with WSocket? Did you see 
packet dump? There is on 0x04 at the end of command...


Dnia 24-06-2006 o godz. 19:46 Waldemar Łukaszewski napisał(a):
 Nice... and what does it mean ? :) I mean... how do i implement it?
 
 
 Dnia 24-06-2006 o godz. 17:51 Dan napisał(a):
  http://bf2.fun-o-matic.org/index.php/RCon_Protocol
  
  Commands 
  All commands sent by the client have /n (0x0A) appended to indicate the
  end-of-line. An optional 0x02 character can be prefixed to the command 
 -
  this instructs the server to append a 0x04 character on the output 
  generated
  by the command to indicate the end of the data. However, its worth 
 noting
  that the server does not send a 0x0A (newline) after the 0x04 (EOT)
  character, so you'll have to make sure your program can handle this. 
  This is
  an optional part of the protocol that can be implemented if returning 
  all of
  the output is important to your environment. 
  
  Dan
  
  -Original Message-
  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
 On
  Behalf Of Waldemar Lukaszewski
  Sent: 24 June 2006 16:04
  To: ICS support mailing
  Subject: Re: [twsocket] WSocket - HOW DO I...?
  
  It's a standard header. No additional data available... Compare the 2 
  dumps
  I gave... packet size header is the number of bytes in selected 
 packet...
  doesnt have anything to do with how WSocket will split it...
  
  
  Dnia 24-06-2006 o godz. 15:18 Arno Garrels napisał(a):
   Waldemar Lukaszewski wrote:
Its TCP for sure... but the problem is that there are not 
 terminators
(terminating strings/chars)... 
   
   The dump looks like a header is prepended that probably contain data
   length.  You need to know the header structure/size and the protocol 
 as
   well otherwise it will be hard to get tis working.
   
   ---
   Arno Garrels [TeamICS]
   http://www.overbyte.be/eng/overbyte/teamics.html

   

Look at this... full dump from IRIS:

http://komputery.info.pl/PACKETS/fulldump_lan_ok.txt - packets are
being sent in one... whole BF2CC PL command answer was sent at
once... - no problem here.  

http://komputery.info.pl/PACKETS/fulldump_lan_notok.txt - packets 
 are
split, answer to request was sent in few parts, OnDataAvailable was
called 4 times!  

So how do i know if full single command answer was sent or is it 
 only
a part of it??? :( 

Dnia 23-06-2006 o godz. 8:46 Francois Piette napisal(a):
If you have a protocol designed for UDP and use it with UDP, then 
  you
have a
problem: UDP preserve datagram boundaries. TCP doesn't because it 
 is
a stream oriented protocol. So when in the UDP version you simply
send bf2cc
pl (exactly, without anything prepened or appended), then with 
 TCP
you _must_ add an end of line delimiter such as a CR/LF pair so
that the receiver know when data has been received.

Again, read TCP/UDP primer document available from the support
page at my
website.

Contribute to the SSL Effort. Visit
http://www.overbyte.be/eng/ssl.html --
[EMAIL PROTECTED]
Author of ICS (Internet Component Suite, freeware)
Author of MidWare (Multi-tier framework, freeware)
http://www.overbyte.be



- Original Message -
From: Waldemar Lukaszewski [EMAIL PROTECTED]
To: ICS support mailing twsocket@elists.org
Sent: Thursday, June 22, 2006 10:00 PM
Subject: Re: [twsocket] WSocket - HOW DO I...?


In BF2 it uses TCP... anyways... the problem is that i dunno how 
 to
set this buffer size :( The problem appears only on WIFI
connection... :(  


Dnia 22-06-2006 o godz. 21:23 Dan napisal(a):
RCON usually uses UDP (at least in my experience with 
 Half-Life).
You probably need to increase the buffer size of the socket so
that all the data
is included in a single datagram.

Dan

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
On
Behalf Of Waldemar Lukaszewski
Sent: 22 June 2006 19:34
To: ICS support mailing
Subject: Re: [twsocket] WSocket - HOW DO I...?

The problem is that i'm only making a clinet. Server is as it 
 is.
There is
no way to change it...


Dnia 22-06-2006 o godz. 17:58 Francois PIETTE napisal(a):
have no idea how do i know if server have sent all it wanted 
 to
send after 
after
command.

The easiest is to add a delimiter after the data. And the
eaisiest is to 
to
use
a CR/LF pair, that is send text lines. It is easy because
TWSocket has a 
a
LineMode you can set to TRUE to have it assemble complete lines
before triggering OnDataAvailable.

You should probably read the document TCP/UDP primer 
 available
from the
support 

Re: [twsocket] WSocket - HOW DO I...?

2006-06-24 Thread Francois PIETTE
 doesnt have anything to do with how WSocket will split it...

It is not TWSocket which split packets, it is winsock. And it is perfectly 
normal. TCP is a stream oriented protocl. That means datagram boundaries are 
not preserved. There NOTHING you can do against that as long as you use TCP.

You MUST build your application to assemble received packets in a buffer, 
probably a circular buffer and dynamically parse the buffer for the grammar 
used by the protocol since there is no delimiter nor any header.

btw: I see that in your packet dump there is a $0A at the end of bf2cc pl. 
Isn't $0A (linefeed) not the command terminator ? Line feed is the single 
character Unix system use to terminate a line in a text file. I also see a 
lot of $09 (TAB char) and $0D (Carriage Return or CR) chars. Are not those 
characters the delimiters you need ?

You really should search for a formal definition for the protocol used.

--
[EMAIL PROTECTED]
The author for the freeware multi-tier middleware MidWare
The author of the freeware Internet Component Suite (ICS)
http://www.overbyte.be




- Original Message - 
From: Waldemar Łukaszewski [EMAIL PROTECTED]
To: ICS support mailing twsocket@elists.org
Sent: Saturday, June 24, 2006 5:04 PM
Subject: Re: [twsocket] WSocket - HOW DO I...?


 It's a standard header. No additional data available... Compare the 2 
 dumps I gave... packet size header is the number of bytes in selected 
 packet... doesnt have anything to do with how WSocket will split it...


 Dnia 24-06-2006 o godz. 15:18 Arno Garrels napisał(a):
 Waldemar Lukaszewski wrote:
  Its TCP for sure... but the problem is that there are not terminators
  (terminating strings/chars)...

 The dump looks like a header is prepended that probably contain data
 length.  You need to know the header structure/size and the protocol as
 well otherwise it will be hard to get tis working.

 ---
 Arno Garrels [TeamICS]
 http://www.overbyte.be/eng/overbyte/teamics.html


 
  Look at this... full dump from IRIS:
 
  http://komputery.info.pl/PACKETS/fulldump_lan_ok.txt - packets are
  being sent in one... whole BF2CC PL command answer was sent at
  once... - no problem here.
 
  http://komputery.info.pl/PACKETS/fulldump_lan_notok.txt - packets are
  split, answer to request was sent in few parts, OnDataAvailable was
  called 4 times!
 
  So how do i know if full single command answer was sent or is it only
  a part of it??? :(
 
  Dnia 23-06-2006 o godz. 8:46 Francois Piette napisal(a):
  If you have a protocol designed for UDP and use it with UDP, then you
  have a
  problem: UDP preserve datagram boundaries. TCP doesn't because it is
  a stream oriented protocol. So when in the UDP version you simply
  send bf2cc
  pl (exactly, without anything prepened or appended), then with TCP
  you _must_ add an end of line delimiter such as a CR/LF pair so
  that the receiver know when data has been received.
 
  Again, read TCP/UDP primer document available from the support
  page at my
  website.
 
  Contribute to the SSL Effort. Visit
  http://www.overbyte.be/eng/ssl.html --
  [EMAIL PROTECTED]
  Author of ICS (Internet Component Suite, freeware)
  Author of MidWare (Multi-tier framework, freeware)
  http://www.overbyte.be
 
 
 
  - Original Message -
  From: Waldemar Lukaszewski [EMAIL PROTECTED]
  To: ICS support mailing twsocket@elists.org
  Sent: Thursday, June 22, 2006 10:00 PM
  Subject: Re: [twsocket] WSocket - HOW DO I...?
 
 
  In BF2 it uses TCP... anyways... the problem is that i dunno how to
  set this buffer size :( The problem appears only on WIFI
  connection... :(
 
 
  Dnia 22-06-2006 o godz. 21:23 Dan napisal(a):
  RCON usually uses UDP (at least in my experience with Half-Life).
  You probably need to increase the buffer size of the socket so
  that all the data
  is included in a single datagram.
 
  Dan
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]
  On
  Behalf Of Waldemar Lukaszewski
  Sent: 22 June 2006 19:34
  To: ICS support mailing
  Subject: Re: [twsocket] WSocket - HOW DO I...?
 
  The problem is that i'm only making a clinet. Server is as it is.
  There is
  no way to change it...
 
 
  Dnia 22-06-2006 o godz. 17:58 Francois PIETTE napisal(a):
  have no idea how do i know if server have sent all it wanted to
  send after
  after
  command.
 
  The easiest is to add a delimiter after the data. And the
  eaisiest is to
  to
  use
  a CR/LF pair, that is send text lines. It is easy because
  TWSocket has a
  a
  LineMode you can set to TRUE to have it assemble complete lines
  before triggering OnDataAvailable.
 
  You should probably read the document TCP/UDP primer available
  from the
  support page at my website.
 
 
  --
  Contribute to the SSL Effort. Visit
  http://www.overbyte.be/eng/ssl.html --
  [EMAIL PROTECTED]
  http://www.overbyte.be
 
 
 
  - Original Message -
  From: Waldemar Lukaszewski [EMAIL PROTECTED]
  To: twsocket