----- Original Message ----- 
From: "Greg Aiken" <gai...@visioninfosoft.com>

>
> I use IO::Socket as basis for a client program.

I think you mean that it's a *server* program .

> my program opens the above referenced file (for read), then reads each 
> line
> of the file, then sends each record read out through the socket.

I have an IO::Socket server that does the same over a local network - it is 
definitely sending each "0x0d 0x0a" pair as is.
For example, I have the following file:

68 65 6C 6C 6F 20 77 6F 72 6C 64 0D 0A

When I send that to either a Win32 box or a Linux box, the file that is 
reproduced there is identical.
(On the Linux box, in re-creating the file, I have to binmode the filehandle 
I'm writing to. Otherwise Linux removes the "0x0d". But if I'm sending to 
the Win32 box, then it makes no difference whether that filehandle is 
binmoded or not. All of this is as expected.)

In short, I'm unable to reproduce the behaviour you describe.

> however, I use 'wireshark' to monitor the client/server communication here
> and it is able to capture all tcp data being sent through my used port
> number.  wireshark then can save to disk the captured data packet.  I
> discovered that something here seems to be amiss regarding the CRLF byte
> pair.  'wireshark' captured transmitted data reveals that only the LF byte
> was being sent!!!!!  somehow the CR byte does NOT get transmitted.

Is everything described above happening on  Windows boxes ?
For example, if wireshark were running on a linux box, I would not be at all 
surprised if wireshark converted '0x0d 0x0a' to '0x0a' when saving the 
captured data to disk. (I know nothing about wireshark, btw.)

I don't think IO::Socket is responsible for removing the CR's. If they're 
being removed, then it's happening either before or after the data has been 
sent. But it's hard to work out how that would be happening from the info 
provided.

Are you running any of this in Cygwin ? (I'm just thinking that a Cygwin 
perl filehandle that has been opened for reading might remove the '0x0d' 
unless it has been binmode()d ... but I don't know.)

Cheers,
Rob

_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to