I need to do mixed (binary/text) output to a socket stream.
(I'm trying to develop a micro http server).

I tried he following code :

send_file(Sin,Sout,Size,Rcode,MimeType):-
    write(Sout,'HTTP/1.0 '), write(Sout,Rcode), write(Sout,'\r\n'),
    write(Sout,'Content-Type: '), write(Sout,MimeType),
write(Sout,'\r\n'),
    write(Sout,'Content-Length: '), write(Sout,Size),
write(Sout,'\r\n\r\n'),
    copy_file(Sin,Sout).

copy_file(Sin,_Sout):- at_end_of_stream(Sin),!.    
copy_file(Sin,Sout):- get_byte(Sin,C),put_byte(Sout,C),
copy_file(Sin,Sout).

The problem arises when I need to output binary data (images).
The trouble is that I dont' know how to set the Output stream type.
if it has the default value (type=Text), I cannot copy on it the binary
data,
and if I set it in binary mode, I cannot use 'write' to write to it.

Any suggetion ?

Regards.
Maurizio.



_______________________________________________
Users-prolog mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/users-prolog

Reply via email to