Re: Strange problem drive me mad.
From: Alexander Nickolov (agnickolov_at_mvps.org)
Date: 12/25/04
- Next message: Alexander Nickolov: "Re: Reconnecting to a socket"
- Previous message: Arkady Frenkel: "Re: why a non-blocking socket will block when call connect function?"
- In reply to: Steven Tang: "Re: Strange problem drive me mad."
- Next in thread: Steven Tang: "Re: Strange problem drive me mad."
- Reply: Steven Tang: "Re: Strange problem drive me mad."
- Messages sorted by: [ date ] [ thread ]
Date: Sat, 25 Dec 2004 13:42:34 -0800
Definitely not. Simply read all data available on each
notification, then chop it into packets. BTW, the data
is dropped by your code, not by the TCP layer.
-- ===================================== Alexander Nickolov Microsoft MVP [VC], MCSD email: agnickolov@mvps.org MVP VC FAQ: http://www.mvps.org/vcfaq ===================================== "Steven Tang" <steven.tang@tlvsys.com> wrote in message news:eTYi2Oi6EHA.1260@TK2MSFTNGP12.phx.gbl... > Thanks for reply, actually, the problem is that client (may caused by > server) > always flush data before I decode the each packet when buffer is full. Is > it > possible I disable data's aggregating and so that I can get FD_READ > message > per packet? I means that get each FD_READ by each calling to "send"at > server > side. > > Regards > Steven > "Alexander Nickolov" <agnickolov@mvps.org> wrote in message > news:%23gU%23T3h6EHA.2452@TK2MSFTNGP14.phx.gbl... >> Not through the TCP protocol. You can design your >> own packetization on top of TCP, though. >> >> -- >> ===================================== >> Alexander Nickolov >> Microsoft MVP [VC], MCSD >> email: agnickolov@mvps.org >> MVP VC FAQ: http://www.mvps.org/vcfaq >> ===================================== >> "Steven Tang" <steven.tang@tlvsys.com> wrote in message >> news:eCHrJMf6EHA.3236@TK2MSFTNGP15.phx.gbl... >>>I found the problem was caused client side recv aggregated the all >>> data to one. Is it possible to deny this kind of aggregate? >>> >>> Regards >>> Steven >>> >>> "Steven Tang" <steven.tang@tlvsys.com> wrote in message >>> news:eHL7pCa6EHA.2012@TK2MSFTNGP15.phx.gbl... >>>> Hi All, >>>> I'm being bothered by one very strange socket problem. I created one >>>> server >>>> and one client with TCP winsock, I forwarded both ASync events to their >>>> window. >>>> and I handle traffic behaviour inside notifination message. >>>> What I want to do is: when server get one message data from client, it >>>> send >>>> back 10 buffers data to client. the server code look like these: >>>> >>>> for ( int i = 0; i < 10; i ++ ) { >>>> .... >>>> int lenPack = length of the buffer i >>>> int iRetLen = send( clisock, Number i data buffer, , 0 ); >>>> OutputDebugMsg( iRetLen, lenPack, \n ); >>>> } >>>> >>>> The client side is just receive the data in the notification message. >>>> >>>> when I run server and the client, the client shows only got one data >>>> packet >>>> from the server. >>>> when I run the client, line by line trace the above code in server >>>> side. the >>>> client shows it got all 10 data packets. >>>> I added some traces code to the server and the client then run them >>>> automatically, >>>> the server side debug message terminal shows all ten data are send out >>>> successfully >>>> ( iRetLen == lenPack every time). while at client side, the terminal >>>> shows >>>> the client only get one notification message. >>>> >>>> Any comments are very appreciated. >>>> >>>> Regards >>>> Steven >>>> >>> >>> >> >> > >
- Next message: Alexander Nickolov: "Re: Reconnecting to a socket"
- Previous message: Arkady Frenkel: "Re: why a non-blocking socket will block when call connect function?"
- In reply to: Steven Tang: "Re: Strange problem drive me mad."
- Next in thread: Steven Tang: "Re: Strange problem drive me mad."
- Reply: Steven Tang: "Re: Strange problem drive me mad."
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|
|