Re: Strange problem drive me mad.
From: Steven Tang (steven.tang_at_tlvsys.com)
Date: 12/25/04
- Next message: Andrew Chalk: "Reconnecting to a socket"
- Previous message: Alexander Nickolov: "Re: Strange problem drive me mad."
- In reply to: Alexander Nickolov: "Re: Strange problem drive me mad."
- Next in thread: Arkady Frenkel: "Re: Strange problem drive me mad."
- Reply: Arkady Frenkel: "Re: Strange problem drive me mad."
- Reply: Alexander Nickolov: "Re: Strange problem drive me mad."
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 24 Dec 2004 17:47:36 -0800
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: Andrew Chalk: "Reconnecting to a socket"
- Previous message: Alexander Nickolov: "Re: Strange problem drive me mad."
- In reply to: Alexander Nickolov: "Re: Strange problem drive me mad."
- Next in thread: Arkady Frenkel: "Re: Strange problem drive me mad."
- Reply: Arkady Frenkel: "Re: Strange problem drive me mad."
- Reply: Alexander Nickolov: "Re: Strange problem drive me mad."
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|