Hi,
I've written a karel server for socket messaging
Code
PROGRAM final_server
%STACKSIZE = 4000
%NOLOCKGROUP
%NOPAUSE=ERROR+COMMAND+TPENABLE
%ENVIRONMENT uif
%ENVIRONMENT sysdef
%ENVIRONMENT memo
%ENVIRONMENT kclop
%ENVIRONMENT bynam
%ENVIRONMENT fdev
%ENVIRONMENT flbt
%INCLUDE klevccdf
%INCLUDE klevkeys
%INCLUDE klevkmsk
-------------------------------------------------------------------------------
VAR
file_var : FILE
tmp_int : INTEGER
tmp_str : STRING[128]
status : INTEGER
entry : INTEGER
loop : BOOLEAN
-------------------------------------------------------------------------------
BEGIN
SET_FILE_ATR(file_var, ATR_IA)
-- set the server port before doing a connect
SET_VAR(entry, '*SYSTEM*','$HOSTS_CFG[3].$SERVER_PORT',59002,status)
WRITE('Connecting..',CR)
MSG_CONNECT('S3:',status)
WRITE(' CONNECT STATUS = ',status,CR)
IF status = 0 THEN
-- Open S3:
WRITE ('Opening',CR)
OPEN FILE file_var ('rw','S3:')
status = IO_STATUS(file_var)
WRITE ('FILE STATUS',status,CR)
IF status = 0 THEN
loop = TRUE
WHILE loop = TRUE DO
BYTES_AHEAD(file_var, entry, status)
IF entry > 0 THEN
READ file_var(tmp_str::entry)
WRITE('Received: ', tmp_str)
ENDIF
ENDWHILE
CLOSE FILE file_var
ENDIF
WRITE('Disconnecting..',CR)
MSG_DISCO('S3:',status)
WRITE('Done.',CR)
ENDIF
END final_server
Display More
And have written a c++ client that sends a simple string. I have managed to send a string to the robot through socket messaging. But right after finishing one iteration of the while loop (line 39), the program pauses on line 41 and gives an error saying "INTP-311 (FINAL_SERVER, 41) Uninitialized data is used".
Can someone help me figure out what is going wrong?
Thanks