[comp.emacs] How to read one character at a time on process-socket

ruseng@iesd.auc.dk (Carsten Ruseng Jakobsen) (02/23/90)

I have a written a Hyper-text back-end server (HyperBase) which is
communicating via sockets. I am now writing an interface in emacs to
this server. I have succeded in sending simple argument's as 4 byte
integers from the server to emacs and converting them, and vice versa.
However when I'm trying to read a larger amount of data, the result
is that (accept-process-output) blocks. Instead of relying on this
function I would like to read ONE character from the process attached
to the socket. Does such function exist, or how can I read one character
at a time from the process-output (the stuff the server is writing
to the socket.)
If you have the answer please *e-mail* it to ruseng@iesd.auc.dk

The scenario look's like: 

  (setq read-proc(open-network-stream 
		  "read-sock" "READ-buffer" hostname read-port))
  (set-process-filter read-proc 'read-filter)
. . .
(defun hb-read ()
  "Read the DATA-field from mode ent_no and insert it to current buffer"
  (interactive)
  (progn 
    (setq ent_no (read-input "Entity-no : "))
    (process-send-string write-proc "\000\000\000\001") ;1 = READ
    (process-send-string write-proc 
	(int-to-string-4ch (string-to-int ent_no))) 
    (process-send-string 
	write-proc (int-to-string-4ch 517)) ; 517= Read the DATA-field
    (set-process-filter read-proc 'read-filter)
    (accept-process-output read-proc) ;BLOCKING (when filter <> nil)
   )	
; If the return value is zero then get the stuff, otherwise exit nil.
  (cond ((= 0 ret)(progn
	; read length of the data to be read
		    (set-process-filter read-proc 'receive-number)
		    (accept-process-output read-proc)
	; read the data
;		    (set-process-filter read-proc  'receive-string)
		    (accept-process-output read-proc)
		    (insert-string string-received); insert in current buffer
		    ))
	)
)

Thanx in advance
------------------------------------------------------------------------------
| Carsten Ruseng Jakobsen,ruseng@iesd.auc.dk    {...}!mcvax!dkuug!iesd!ruseng|
| Systems programmer                                                         |
|                                                                _  /        |
| Department of Mathematics and Computer Science               - / (         |
| Aalborg University (AUC)                                   /  |  \         |
| DENMARK                                                    A  U  C         |
------------------------------------------------------------------------------